close

Вход

Забыли?

вход по аккаунту

Ташев Андрей Анатольевич. Разработка интеллектуальной системы управления погружными насосами с учетом защиты от взрывов и пожаров

код для вставки
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ
ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
имени И.С. ТУРГЕНЕВА»
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
по направлению подготовки 15.04.04«Автоматизация технологических
процессов и производств»
направленность (профиль) «Автоматизация технологических процессов в
электроэнергетической области»
Студента Ташева Андрея Анатольевича шифр 165258
Факультет (институт) приборостроения, автоматизации и информационных
технологий
Тема выпускной квалификационной работы
Разработка интеллектуальной системы управления погружными насосами с
учетом защиты от взрывов и пожаров
Студент ________________ Ташев А.А.
Научный руководитель, ________________ Пилипенко А.В.
к.т.н.
Нормоконтроль, ________________ Маркин Н.И.
к.т.н., доцент
Зав.кафедрой, ________________ Пилипенко А.В.
к.т.н.
АННОТАЦИЯ
Расчетно-пояснительная записка представлена на 104 страницах,
содержит 23 рисунка, 10 таблиц и 14 формул.
Работа выполнена на тему «разработка интеллектуальной системы
управления погружными насосами с учетом защиты от взрывов и пожаров».
В работе были рассмотрены вопросы создания интеллектуальной
системы управления погружными насосами. Данная система должна
обеспечить автоматическое управление насосом с целью контроля и
поддержания заданного уровня в наполняемой емкости, а также защитить
насос при отклонении контролируемых параметров, тем самым предотвратив
его выход из строя и увеличив срок службы насоса.
Был разработан и собран прототип данной системы, произведена
установка оборудования с целью имитации работы системы в реальных
условиях и проведены соответствующие испытания для определения ее
работоспособности. Также были определены показатели точности работы и
эффективности системы, проведен анализ разработанной математической
модели.
Данная работа содержит текстовую и графическую части.
В текстовой части выполнены следующие виды работ:
-
произведен анализ объекта автоматизации;
-
построена математическая модель объекта автоматизации;
-
разработана
аппаратная
составляющая
автоматизированной
системы;
-
реализован программный код системы управления;
-
осуществлено
тестирование
системы
и
проведен
анализ
полученных результатов.
Изм. Лист
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
Подпись Дата
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Лит.
Аннотация
Лист
Листов
4
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
Графическая часть проекта состоит из следующих чертежей:
1. Структурная схема автоматизированной системы
A2;
2. Принципиальная электрическая схема системы
A2;
3. Функциональная схема автоматизации
A2;
4. Математическая модель работы объекта автоматизации
A2;
5. Алгоритм работы в виде блок-схемы
A2;
6. Настройка и тестирование системы
A2;
7. Графики показателей эффективности и результаты апробации
математической модели
Изм. Лист
№ докум.
A2.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
5
от взрывов и пожаров»
Подпись Дата
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .............................................................................................................. 8
1
АНАЛИЗ ОБЪЕКТА АВТОМАТИЗАЦИИ ............................................. 10
1.1
Описание объекта автоматизации ............................................................. 10
1.2
Актуальность автоматизированной системы ........................................... 17
1.3
Математическое
моделирование
процесса
работы
объекта
автоматизации........................................................................................................ 20
2
РАЗРАБОТКА
АППАРАТНОЙ
СОСТАВЛЯЮЩЕЙ
АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ .......................................................... 26
2.1
Общее описание автоматизированной системы (структурная схема и
подбор оборудования) .......................................................................................... 26
2.2
Разработка принципиальной электрической и функциональной схем
автоматизированной системы .............................................................................. 33
2.3
Сборка и проверка аппаратного обеспечения .......................................... 41
3
РАЗРАБОТКА
ПРОГРАММНОЙ
СОСТАВЛЯЮЩЕЙ
АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ .......................................................... 46
3.1
Разработка интеллектуальных алгоритмов работы системы ................. 46
3.2
Интеграция математической модели работы насоса в программный
код………………………………………………………………………………...53
3.3
Кодирование и отладка ............................................................................... 57
4
РЕАЛИЗАЦИЯ
И
АПРОБАЦИЯ
АВТОМАТИЗИРОВАННОЙ
СИСТЕМЫ ............................................................................................................. 67
4.1
Изм. Лист
Установка оборудования и тестирование системы ................................. 67
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
Подпись Дата
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Лит.
Содержание
Лист
Листов
6
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
4.2
Анализ экономических показателей эффективности и точности работы
системы…………………………………………………………………………...76
4.3
Анализ точности математической модели .............................................. 79
ЗАКЛЮЧЕНИЕ ..................................................................................................... 82
СПИСОК ЛИТЕРАТУРЫ..................................................................................... 84
Приложение А ....................................................................................................... 86
Приложение Б ........................................................................................................ 87
Приложение В........................................................................................................ 88
Приложение Г ........................................................................................................ 89
Приложение Д........................................................................................................ 90
Приложение Е ........................................................................................................ 91
Приложение Ж ....................................................................................................... 92
Приложение З ........................................................................................................ 93
Приложение И ....................................................................................................... 95
Приложение К........................................................................................................ 96
Приложение Л........................................................................................................ 97
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
7
Подпись Дата
от взрывов и пожаров»
ВВЕДЕНИЕ
Оборудование, используемое для подъема воды с большой глубины,
относится
к
управления
высокотехнологичному
системой
сегменту.
Учитывая
автономного водоснабжения, для
сложность
того, чтобы
обеспечить стабильность поступления воды, необходимо использовать
хорошо продуманную систему автоматического управления [1].
Насосное оборудование является основным элементом автономной
системы водоснабжения. Оно должно являться центральным элементом
автоматической системы управления. Это защитит от чрезмерного износа и
поломок водоподъемное оборудование и обеспечит стабильное поступление
воды по водопроводу. С помощью блока автоматики запуск насосов
происходит при снижении давления или уровня, останов – при повышении
этих показателей, а также производится своевременная остановка прибора в
то время, когда водяной поток в системе водоснабжения останавливается.
Более того, автоматика для насосов способна защитить оборудование в
период
работы
без
воды.
Поэтому
разработка
систем
управления
погружными насосами является актуальной задачей.
Объектом исследования является погружной насос вибрационного
типа. Предметом исследования является система управления погружным
насосом с учетом его защиты.
Целью выпускной квалификационной работы является разработка
интеллектуальной системы управления погружными насосами с учетом его
защиты от взрывов и пожаров.
Основными задачами выпускной квалификационной работы являются:
-
разработка аппаратной составляющей автоматизированной системы;
-
разработка
Изм. Лист
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
алгоритма
Подпись Дата
управления
и
его
реализация
в
виде
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Лит.
Введение
Лист
Листов
8
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
управляющей программы;
-
разработка математической модели работы насоса и ее интеграция в
программный код;
-
анализ точности работы системы и математической модели.
Основными методами исследования в данной работе являются метод
математического моделирования погружного насоса вибрационного типа, а
также экспериментальные исследования протекания процессов на тестовой
установке.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
9
Подпись Дата
от взрывов и пожаров»
1
АНАЛИЗ ОБЪЕКТА АВТОМАТИЗАЦИИ
1.1
Описание объекта автоматизации
Погружной насос – это устройство, обеспечивающее водозабор воды из
скважины или колодца и подъем до необходимого уровня, где происходит
распределение жидкости для транспортировки к конечному потребителю.
Так как в данной выпускной работе разрабатывается устройство,
предназначенное для управления погружным насосом и его защиты от
взрывов и пожаров в частных домах и приусадебных участках, то приведены
типы насосов, которые применяются только для бытовых нужд. Данные
насосы
отличаются
небольшой
мощностью
и
упрощенной
схемой
управления.
Данные насосы можно разделить на следующие категории:
- по назначению оборудования;
- по принципу работы устройства.
Разграничивают
типы
насосов
в
зависимости
от
области
использования. Разные виды применяются в тех условиях, которые наиболее
подходят для эксплуатации при данных условиях [1].
Скважинные, или глубинные, насосы применяются в тех случаях, когда
есть необходимость поднимать воду с большой глубины. Как правило,
скважины бурят небольшого диаметра для рационального использования. В
связи с этим данные насосы обладают продолговатой цилиндрической
формой. Подбор происходит таким образом, чтобы диаметр скважины был на
один-два
сантиметра
больше
внешнего
диаметра
насоса.
К
ним
предъявляются высокие требования к создаваемому напору, так как уровень
откачиваемой жидкости находится намного ниже уровня земли. Главным
условием при их использовании является отсутствие примесей, которые
Изм. Лист
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
Подпись Дата
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Лит.
Анализ объекта
автоматизации
Лист
Листов
10
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
могут повредить внутренние части насоса. Также скважинные насосы имеют
два подвида:
штанговые
и
бесштанговые. Двигатель
в
штанговых
скважинных насосах находится вне скважины, механическая связь штанги
обеспечивает передачу движения насосу. Эти агрегаты находят применение
при добычи нефти. В свою очередь, в бесштанговых в едином корпусе
совмещаются рабочие колеса и двигатель.
Колодезные могут работать в воде, в составе которой присутствуют
небольшие частицы ила, извести или песка, но обладают меньшей
производительностью
и,
как
следствие,
напором.
В связи
с
этой
особенностью, эти агрегаты не опускают на самое дно, подвешивают на
определенном расстоянии от него, чтобы исключить попадание в корпус
иловых масс. Колодезные насосы находят применение в случаях, когда
уровень воды ниже восьми метров относительно земли. Максимальная
глубина варьируется от двадцати до сорока метров, в зависимости от
мощности насоса.
Если же вода является сильно загрязненной, то применяются
дренажные насосы. Устройство таких насосов дает возможность пропускать
через себя частицы диаметром от 10 до 70 мм. Их обычно используют
откачки жидкости из затопленных сооружений, например подвала. Для
возможности
откачки
сильно
загрязненной
воды
они
оснащаются
специальным измельчителем, который способен перерабатывать довольно
крупные частицы.
Для откачки отходов из сборных колодцев, где скапливается
отработанная вода, или выгребных ям используются так называемые
фекальные насосы. На них также может устанавливаться измельчитель и
сетки для исключения попадания внутрь агрегата больших твердых объектов.
Говоря о конструкции погружных насосов, можно отметить такую
особенность, что рабочий элемент и двигатель объединены в одном корпусе.
Корпус подвергается полной герметизацией, так как непосредственная
работа осуществляется в водной среде. Выходной патрубок может быть
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
11
Подпись Дата
от взрывов и пожаров»
подключен как к гибкому шлангу, когда откачка происходит при
изменяющейся глубине, так и к жесткой трубе, когда откачка идет строго
горизонтально. Питание подводится через кабель, подключаемый к сети уже
непосредственно на поверхности.
Для поддержания насоса на заданной глубине в рабочем положении
используется опорный трос, крепление которого осуществляется с внешней
стороны погружного насоса. Данный трос применяется в том случае, когда
вес насоса оказывается слишком большим, и кабеля питания для его
удержания оказывается недостаточно.
Внутренняя конструкция погружных насосов зависит от их типа. Ниже
рассмотрены основные виды насосов.
По принципу работы погружные насосы разделяются на следующие
виды:
- центробежные;
- вибрационные;
- шнековые;
- вихревые.
Типовой центробежный погружной насос представлен на рисунке 1.
Рисунок 1 – Схема работы погружного насоса центробежного типа
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
12
Подпись Дата
от взрывов и пожаров»
На рисунке обозначены следующие рабочие элементы: 1 – рабочее
колесо, главная составляющая оборудования; 2 – лопасти рабочего колеса,
которые вызывают центробежную силу для всасывания воды; 3 – корпус,
защищающий рабочее колесо от различного рода повреждений; 4 –
всасывающая полость, через которую происходит нагнетание жидкости; 5 –
напорный трубопровод, передающий воду от насоса к системе трубопровода;
6 – обратный клапан, препятствующий обратному ходу воды в трубопроводе
в источник; 7 – защитная сетка, которая служит для защиты рабочей части
насоса от различного рода примесей, негативно влияющих на работу
устройства. Благодаря защитной сетке эксплуатация данного типа насоса
разрешена в слегка загрязненной воде.
Принцип работы погружных насосов центробежного типа заключается
в следующем: при подаче питания приводится в действие рабочее колесо,
при вращении создается центробежная сила по длине всей окружности
колеса, которая приводит в движение воду. Таким образом, создается
нагнетающее
давление
потока
жидкости,
перемещающее
воду
от
всасывающего к напорному трубопроводу, откуда вода поступает к
резервуару.
Типовой погружной насос вибрационного типа представлен на рисунке
2.
Рисунок 2 – Схема погружного насоса вибрационного типа
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
13
Подпись Дата
от взрывов и пожаров»
На рисунке обозначены следующие рабочие элементы: 1 – модуль
привода, внутри которого располагается электрический магнит (катушка и
сердечник); 2 – вторая часть электромагнита (якорь), приводящее в движение
поршень; 3 – камера для забора жидкости, соединенная с выводящим
патрубком; 4 – всасывающая камера вместе с отверстием, отсек для забора
воды из источника; 5 – амортизатор, обеспечивает плавный ход рабочего
поршня, предотвращает быстрый износ ходовой части; 6 – шайбы,
предназначенные для регулировки мощности насоса: при увеличении или
уменьшении количества шайб происходит изменение производительности; 7
– шток, обеспечивающий рабочий ход поршня; 8 – обратный клапан, по
аналогии с обратным клапаном центробежного насоса предотвращает
обратный ход воды из источника; 9 – гайка, фиксирующая поршень на
штоке; 10 – поршень (или диафрагма), основной рабочий элемент насоса,
обеспечивает движение жидкости в рабочей полости; 11 – каналы для
транспортировки воды из сборной камеры в водопроводную систему.
За счет движения поршня происходит непосредственная работа насоса.
В момент подачи питания в модуле привода генерируется электромагнитное
поле, якорь начинает совершать поступательно-возвратные движения,
которые передаются штоку. Поршень создает разряженное давление при
притягивании электромагнита в наборной и всасывающей камерах. В данную
область поступает вода, заполняя камеру через отверстие с обратным
клапаном. При обратном движении поршня нагнетенная вода выталкивается
через патрубок в трубопровод. В течение одной секунды происходит порядка
ста возвратно-поступательных движений поршня, что создает напор воды в
трубопроводе.
Работа погружного насоса вихревого типа аналогична принципу
работы
центробежного
насоса.
Есть
некоторые
отличия,
которые
заключаются в следующем:
- перед тем, как вода поступит в напорный трубопровод, она сначала
накапливается в специальных ячейках;
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
14
Подпись Дата
от взрывов и пожаров»
- рабочее колесо насоса является цельным;
- для создания центробежной силы используется движение ребер
жесткости рабочего колеса, что в свою очередь образует вихревой поток,
обеспечивающий движение жидкости.
Винтовые, или шнековые, насосы нагнетают жидкость с помощью
рабочего винта, располагающегося внутри корпуса. Выделяют два типа
винта: ведущий и ведомый. Вода перемещается вдоль винтов, в дальнейшем
выталкиваемая
в
трубопровод.
Синхронизирующие
шестеренки
обеспечивают вращение винтов с одинаковой поступательной скоростью.
Среди достоинств всех погружных можно отметить следующие:
- низкий уровень шума, так как насос находится на значительном
расстоянии и размещен в воде;
-
дополнительное охлаждение двигателя
за счет окружающей
жидкости;
- откачка жидкости со значительных глубин;
- возможность откачки жидкости из труднодоступных мест.
Последние два пункта являются значимыми по сравнению с
остальными.
Погружные
насосы
имеют
преимущество
перед
поверхностными, так как развивать большую силу всасывания сложнее, чем
создавать большой напор для поднятия жидкости. Поэтому при откачивании
с больших глубин отдается предпочтение первым, так как использование
поверхностных насосов влечет за собой усложнение конструкции и
удорожание оборудования.
Благодаря своей конструкции погружные насосы можно устанавливать
в труднодоступных местах, будь то яма, подвал или скважина. В таком
случае имеет место мобильность данных насосов и широкие возможности
для их монтажа. Глубина же ограничивается только длиной силового кабеля
и развиваемой мощностью насоса.
Дополнительные преимущества достигаются благодаря расположению
насоса, а именно внутри объема откачиваемой жидкости. Это влечет за собой
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
15
Подпись Дата
от взрывов и пожаров»
улучшение некоторых характеристик насоса, а также поглощение вибраций,
а, следовательно, и шума создаваемого насосом, что дает возможность
использования насосов в частных домах. Чем глубже располагается насос,
чем
меньше
общий
уровень
шума
исходит
от
насоса.
Так
как
теплопроводность воды значительно выше теплопроводности воздуха, то
охлаждение рабочих элементов насоса происходит интенсивнее, чем, если бы
он находился на поверхности.
Погружные насосы находят применение во многих областях, включая
как бытовое водоснабжение, так и промышленное. Если речь идет о
децентрализованном водопроводе с забором воды с глубины колодца, то
целесообразно использовать насосы колодезного типа. Если же в данной
местности нет водоносных слоев, то можно пробурить скважину и
использовать скважинные насосы. Но стоит учитывать, что они более
сложные, так как появляется необходимость забора воды с большой глубины
(порядка 100 метров).
Скважинные и колодезные насосы также могут применяться в
промышленности при откачивании грунтовых вод из затопленных шахт и
скважин. Кроме того, существует технология добычи редкоземельных
металлов с применением такого метода, как выщелачивание. При такой
добыче ценные элементы руд преобразуются с помощью специальных
химических элементов в растворенное состояние, зачем происходит
откачивание и извлечение требуемого металла.
Дренажные и фекальные насосы находят применение при откачивании
жидкости с донных слоев, где часто встречаются различного рода твердые
включения. Также можно проводить откачку из затопленных подвалов, а
если установить измельчитель на насос, то появляется возможность откачки
из водоемов и стоковых ям. При авариях и стихийных бедствиях, когда
возникает
затопление жилых помещений, дренажные насосы
могут
обеспечить их осушение.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
16
Подпись Дата
от взрывов и пожаров»
1.2
Актуальность автоматизированной системы
Необходимость воды, как разного количества, так и различного
качества, присутствует у многих потребителей. Притом эти параметры
определяются масштабом и характером потребления, будь то промышленное
производство или бытовое потребление. Если говорить о предприятиях, то
прекращение подачи воды даже на незначительный промежуток времени
может вывести из строя различного рода оборудование и в результате
остановить производство.
Подача грязной или чрезмерно жесткой воды также может привести к
снижению производительности, появлению брака, а возможно, и к
аварийному входу из стоя различных модулей.
При внедрении автоматической системы управления водоснабжением
обеспечивается высокая производительность и значительно повышается
надежность системы.
Система водоснабжения (СВО) – это комплекс сооружений для
обеспечения
потребителей
водой
требуемого
качества
в
требуемых
количествах. В состав данной системы входят следующие элементы:
- насосные станции (водоподъемные сооружения);
- водозабор (водоприемные сооружения);
- резервуары, баки и башни для аккумулирования и хранения водных
запасов;
- сооружения для охлаждения, обработки и очистки воды;
- водопроводные линии и водоводы.
Для
каждого
автоматические
из
этих
устройства,
элементов
объединяющиеся
применяются
в
различные
автоматизированный
комплекс управления водообеспечением. В данной работе представлена
система управления погружным насосом, обеспечивающая водозабор,
транспортировку воды до конечного потребителя и контроля уровня в
заполняемой емкости (резервуара).
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
17
Подпись Дата
от взрывов и пожаров»
В системе водоснабжения, разумеется, главным элементом является
насос,
обеспечивающий
транспортировку
жидкости.
На
его
работоспособность влияют многие факторы, среди них можно выделить
следующие:
- сухой ход;
- гидравлический удар;
- заиливание скважины;
- электрическое замыкание;
- выход из строя движущийся частей.
Сухой ход для насоса является нежелательным, так как диффузоры
бытовых насосов и рабочие элемента изготавливают из термопласта, которые
при работе насоса без воды перегреваются и в дальнейшем деформируются.
Защита от сухого хода применяется в следующих случаях:
- высокая производительность непосредственно насоса;
- откачивание жидкости из резервуаров с невосполнимым объемом;
- скважины и колодцы имеют переменный объем в зависимости от
времени года.
Для защиты от «сухого хода» применяют различные способы. Самым
недорогим является использование выключателя-поплавка. Когда воды в
колодце или скважине заканчивается, он генерирует сигнал, который
поступает к системе управления, которая аварийно отключает насос, тем
самым предохраняя его от перегрева и, как следствие, от выхода из строя.
Как правило, поплавки применяются на колодезных насосах.
Другим
способом
является
применение
реле
давления.
отслеживает изменение давление в напорном трубопроводе и
Оно
при
достижении определенной критической точки производит размыкание
контактов. Также применяется датчик, обеспечивающий прессконтроль: если
об не обнаруживает наличие воды в трубопроводе, то происходит
отключение насоса.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
18
Подпись Дата
от взрывов и пожаров»
В промышленности применяют еще один способ, являющийся самым
эффективным: на дно скважины опускают два электрода, один на уровне
насоса, другой на дне. Если уровень воды падает ниже заданного, то через
провода перестает идти ток. Соответствующий сигнал регистрируется
системой управления и принимается решение о выключении насоса.
Гидроудар, возникающий при включении или выключении насоса,
опасен тем, что находящаяся под высоким давлением жидкость бьет по
рабочим элементам насоса, что может привести к сильным повреждениям.
Для
предотвращения
этого
эффекта
используют
обратный
клапан,
блокирующий обратный ход воды, или обеспечивается плавный пуск
двигателя насоса.
Довольно большая часть причин выхода из строя агрегата связана с
электрической сетью. При скачках напряжения двигатель начинает работать
нестабильно, возможны перегревы различных питающих элементов. При
возникновении высокочастотных помех может пострадать электронная часть
системы управления, что приведет к невозможности управления насосом и
отслеживания его состояния. Поэтому требуются механизмы защиты
электрических цепей от подобных эффектов.
Таким образом, можно выделить основные задачи, которые должна
решать автоматизированная система управления погружным насосом:
- поддержание заданного уровня воды в резервуаре;
- защита двигателя от «сухого хода»;
- защита от скачков напряжения;
- защита от короткого замыкания;
- предохранение двигателя от износа;
- отключение насоса неисправности датчиков и самой контролирующей
системы в целом.
Исходя из вышесказанного, можно сделать вывод, что внедрение
автоматизированных
систем
управления
в
водоснабжение
является
актуальной задачей, так как потребность в качестве воды все время
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
19
Подпись Дата
от взрывов и пожаров»
повышается, а необходимость бесперебойной подачи жидкости является
важным критерием в наше время.
1.3
Математическое
моделирование
процесса
работы
объекта
автоматизации
Объектом моделирования в данной работе является погружной насос
вибрационного типа с постоянной (нерегулируемой) подачей жидкости. По
конструктивному исполнению данный насос относится к одноплунжерным
насосам простого действия. Это означает, что жидкость нагнетается при
движении плунжера только в одном направлении, а всасывается при
обратном [2]. Схема математической модели работы насоса представлена на
рисунке 3.
На данном рисунке обозначены следующие элементы: N – развиваемая
сила подачи жидкости; Rтр – сила трения в уплотнениях плунжера; P1 и V1 –
соответственно давление и объем жидкости на выходе; P2 и V2 –
соответственно давление и объем жидкости на входе; d1 и d2 – диаметры
выходного и входного отверстий соответственно; Dп – диаметр плунжера; S
– ход плунжера.
Среднюю теоретическую подачу жидкости насоса простого действия
можно найти по следующей формуле (1) [2]:
Q=
f  S n z
,
60
(1)
где f – площадь поперечного сечения плунжера; S – ход плунжера; n –
число ходов плунжера в минуту; z – количество плунжеров.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
20
Подпись Дата
от взрывов и пожаров»
Рисунок 3 – Математическая модель работы насоса
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
21
Подпись Дата
от взрывов и пожаров»
Найдем площадь плунжера, выразив ее из формулы (1), при следующих
значениях параметров:
Q = 416.67 см3/с; S = 0.5 см; n = 100; z = 1;
f =
60  Q
60  416.67
=
= 8.33 см2.
S  n  60 0.5  100  60
Данные
параметры
были
выбраны
согласно
техническим
характеристикам насоса Ручеек 1 [13].
Тогда диаметр плунжера равен:
D=
4  8.33

= 3.26 см.
Характерной особенностью насосов вибрационного типа является
неравномерность подачи жидкости за один период [3]. Для того чтобы
реализовать математическую модель установившегося режима работы
насоса, применяется комплексная схема замещения, полученная путем
использования механической аналогии кривошипно-плунжерного насоса.
Мгновенная подача жидкости определяется следующим образом (2):
Qмг = f  V ,
(2)
где V – скорость ползуна кривошипно-ползунного механизма.
Выразим скорость V через угловую скорость кривошипного вала с
известной зависимостью и подставим в конечную формулу (3):
Qмг = f    r  (sin  +

2
 sin 2 ) ,
(3)
где  – угловая скорость кривошипного вала; r – радиус кривошипа, 
– угол поворота кривошипа;  – коэффициент шатуна.
Среднюю подачу жидкости одноплунжерного насоса за цикл [2] можно
найти по формуле (4):
Qср = 0.318  Qмакс ,
(4)
где Qмакс – максимальная мгновенная подача жидкости за цикл.
Найдем угловую скорость и радиус кривошипа:
 = 2    n = 2    100 = 628.32 рад/с;
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
22
Подпись Дата
от взрывов и пожаров»
S 5  10−1
r= =
= 0.25 см.
2
2
Для нахождения Qмакс и построения диаграммы подачи насоса был
применен пакет для компьютерного моделирования MathCAD [16]. Результат
расчетов можно видеть на рисунке 4.
Рисунок 4 – Результат расчетов в программе MathCAD
Функция Q(x) согласно формуле (3) выражает зависимость подачи
насоса от перемещения x, представленного в радианах. Так как при обратном
ходе подачи не происходит, то вводится дополнительное условие для
построения графика, исключающая обратный ход кривошипа.
Функция F(y) используется для поиска точки максимума функции (3).
Для этого применяется встроенная функция Maximize, служащая для поиска
максимума функции. В ней задаются:
- функция F(y), где происходит поиск;
- аргумент y, по которому производится максимизация.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
23
Подпись Дата
от взрывов и пожаров»
На основе найденного значения вычисляется максимальная подача
воды max. Далее происходит расчет средней подачи жидкости согласно
формуле (4).
График мгновенной подачи насоса в зависимости от перемещения
плунжера Q(x) и средней расчетной подачи жидкости за цикл Qsr построены
в среде MathCAD и представлены на рисунке 5 .
Для того чтобы оценить адекватность модели, сравним найденное
расчетное значение Qsr = 417.59 см3/с (согласно рисунку 4) с паспортным
значением насоса Q = 416.67 см3/с и оценим точность математической
модели: 416.67 / 417.59 * 100% = 99,7%.
Как видно, точность модели высокая. Исходя из этого, можно сделать
вывод, что построенная математическая модель является адекватной.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
24
Подпись Дата
от взрывов и пожаров»
Рисунок 5 – Результат моделирования подачи насоса
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
25
Подпись Дата
от взрывов и пожаров»
2
РАЗРАБОТКА
АППАРАТНОЙ
СОСТАВЛЯЮЩЕЙ
АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ
2.1
Общее описание автоматизированной системы (структурная схема и
подбор оборудования)
В роли платы управления выступает Iskra Neo. Iskra Neo — платформа
для разработки с микроконтроллером ATmega32U4. Он же используется и в
качестве USB-UART преобразователя для прошивки. Эта особенность
отличает данную плату от остальных плат Arduino, где для коммуникации
применяется дополнительный микроконтроллер. Плата аналогична Arduino
Uno по допустимому вольтажу и габаритам [14]. Ее технические
характеристики представлены в таблице 1.
Таблица 1 – Технические характеристики Iskra Neo
Микроконтроллер
ATmega32u4
Количество цифровых входов/выходов
20
…из них ШИМ поддерживают
7
Количество аналоговых входов
12
Количество контактов для аппаратного прерывания
5
Объём Flash-памяти (кБ)
32
Объём SRAM-памяти (кБ)
2.5
Объём EEPROM-памяти (кБ)
1
Тактовая частота (МГц)
16
Количество аппаратных serial-портов
1
USB-разъём
micro-USB
Изм. Лист
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
Подпись Дата
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Разработка аппаратной
составляющей
автоматизированной
системы
Лит.
Лист
Листов
26
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
В качестве датчика тока используется трансформатор тока Т10-90А-00З/0. Измерительные трансформаторы тока серии Т10 предназначены для
работы в цепях переменного тока. Данные трансформаторы во всем
диапазоне входных токов обладают линейной передаточной характеристикой
и реализованы на магнитопроводах из нанокристаллических сплавов. Это
обеспечивает
довольно
высокие
метрологические
характеристики.
Технические характеристики датчика представлены в таблице 2.
Таблица 2 – Технические характеристики трансформатора тока Т10-90А-00
I1, макс. А
до 90
Коэфф. трансф.
1:3000
Класс точности
0,5
Отв. под шину, мм
11
Допустимый коэфф. транс.
1:1000-1:4000
В
качестве
датчика
напряжения
используется
понижающий
трансформатор ТПГ-337-2. Предназначен для работы от сети переменного
тока частотой (50±0,5) Гц и номинальным напряжением 220В с отклонением
±10% от номинального значения. Технические характеристики датчика
представлены в таблице 3.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
27
Подпись Дата
от взрывов и пожаров»
Таблица 3 – Технические характеристики трансформатора напряжения ТПГ337-2
Номинальная мощность
2,0 ВА.
Ток холостого хода
не более 0,030 А.
Габаритные размеры
LxBxH - 33х28х31,8 мм.
Масса
0,13 кг.
Степень защиты
IP 00
Рабочая температура среды
-10°С...+70°С
Температура перегрева
60°С
Вид климатического исполнения
В 1.1
Класс изоляции
В (130°)
Класс трудногорючести
HB или V-0
В качестве датчика уровня
используется датчик давления ПД100-
ДИ0,1. Датчики ОВЕН ПД100-ДИ моделей 111, 171, 181 представляют собой
преобразователи давления с измерительной мембраной из нержавеющей
стали AISI 316L, сенсором на основе технологии КНК и кабельным вводом
стандарта EN175301-803 (DIN43650 А). Технические характеристики датчика
представлены в таблице 4.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
28
Подпись Дата
от взрывов и пожаров»
Таблица 4 – Технические характеристики датчика давления ПД100-ДИ0,1
Выходной сигнал постоянного тока
4...20 мА, 2-х проводная схема
Основная приведенная погрешность
0,5; 1,0 % ВПИ
Диапазон
рабочих
температур –40…+100 °С
измеряемой среды
Напряжение питания
12…36 В постоянного тока
Сопротивление нагрузки
0…1,0
кОм
(в
зависимости
от
напряжения питания)
Потребляемая мощность
не более 0,8 Вт
Устойчивость к механическим
группа исполнения V3
Степень защиты корпуса
IP65
Диапазон
рабочих
температур -40…+80 °С
окружающего воздуха
Атмосферное давление рабочее
66...106,7 кПа
Для определения потока проходящей жидкости применяется датчик
YF-S201, внутри которого располагается крыльчатка с магнитом. Крыльчатка
под напором воды приводится в движение, при помещении проводника с
постоянным током в магнитном поле происходит генерация импульсов на
сигнальном проводе устройства. Данное явление названо эффектом Холла.
Сенсор генерирует 450 импульсов на 1 литр. Таким образом,
чувствительность сенсора составляет примерно 2,2 миллилитра. Датчик
модели YF-S201 предназначен для измерения объёма проходящей жидкости
в диапазоне от 1 до 30 литров в минуту при давлении не более 1,75 Мпа [15].
Датчик подключается тремя проводами. Черный провод — «минус»,
красный — «плюс» и желтый — сигнальный выход. Длина шлейфа 15 см.
Технические характеристики датчика представлены в таблице 5.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
29
Подпись Дата
от взрывов и пожаров»
Таблица 5 – Технические характеристики датчика потока воды
Модель
YF-S201
Напряжение питания
5—18 Вольт
Выходное напряжение сигнала
5 Вольт
Погрешность
10%
Габаритные размеры
62 × 35 × 36 мм
В качестве датчика «сухого хода» применяется поплавковый датчик.
Внутри данного датчика располагается круглый магнит. Внутри полой
пластиковой
трубки
(шток
датчика)
располагаются
герконы.
При
приближении магнита к геркону его поле вызывает замыкание контактов,
генерируя сигнал о заполнении емкости до определенного уровня.
Технические характеристики датчика представлены в таблице 6.
Таблица 6 – Технические характеристики датчика «сухого хода»
Длина кабеля
30.5 см
Максимальный коммутируемый ток
0.5 А
Максимальный потребляемый ток
1А
Температура
-20 до + 80 градусов
Размер
5.8 см x 1.8 см
На рисунке 6 представлена структурная схема автоматизированного
комплекса управления погружным насосом.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
30
Подпись Дата
от взрывов и пожаров»
Рисунок 6 – Структурная схема устройства управления
Для питания датчика уровня и управляющей платы
используется
источник питания постоянного напряжения 12В. Реле и датчика потока воды
питаются от внутреннего источника управляющей платы выходным
напряжением, равным 5В.
Для управления насоса используется Iskra Neo - платформа для
разработки с микроконтроллером ATmega32U4. Она является эквивалентом
Arduino Leonardo. К управляющей плате поступают сигналы от следующих
датчиков:
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
31
Подпись Дата
от взрывов и пожаров»
- аналоговый датчик переменного тока;
- аналоговый датчик переменного напряжения;
- аналоговый датчик уровня с выходом 4-20мА;
- дискретный датчик потока воды;
- дискретный датчик сухого хода.
Датчик переменного тока представляет собой трансформатор тока,
через который проходит питающий провод насоса, и измеряет индукционный
ток на этом проводе.
Датчик переменного напряжения представляет собой понижающий
трансформатор, который работает в холостом режиме и выдает значение
напряжения в сети в соответствии с коэффициентом понижения.
В качестве датчик уровня применяется датчик давления с выходом 420мА. Он устанавливается на дне емкости и измеряет давление столба воды с
перерасчетом в метры.
В основе работы датчика потока воды лежит эффект Холла. Внутри
герметичного корпуса находится крыльчатка с магнитом, вращение которой
генерирует импульсы на сигнальном проводе устройства.
Датчик сухого хода реализован в виде поплавкового датчика,
замыкающий контакт при его погружении в воду.
Для коммутации силовых цепей и управления насосом используется
релейный модуль. Помимо самого реле, модуль содержит еще и
оптоэлектронную развязку с транзистором, которые защищают выводы
управляющей платы от скачков напряжения на катушке.
Для обмена информацией используется интерфейс USB управляющей
платы. Через него реализовано:
- передача значений по всем датчикам;
- передача состояния устройства;
- информирование об аварийных ситуациях;
- информирование о сухом ходе;
- ручное управление насосом.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
32
Подпись Дата
от взрывов и пожаров»
Для сигнализации используется светодиод. Он информирует о том,
была ли авария или сухой ход, если нет возможности посмотреть состояние
по USB интерфейсу.
2.2
Разработка принципиальной электрической и функциональной схем
автоматизированной системы
Сигналы с датчиков тока и напряжения имеют синусоидальную форму
и являются биполярными. Поэтому для того, чтобы обеспечить возможность
измерения величин встроенным АЦП Iskra Neo, данные сигналы необходимо
преобразовать в униполярные. Причем задача сводится к обеспечению
колебаний синусоиды относительно половины опорного напряжения АЦП,
которое равно 5В. Данное значение напряжение равняется 2,5В и называется
смещением нуля. При каждом измерении мгновенного значения эта величина
будет вычитаться из исходной величины. Амплитудное значение примем
равное 2В, чтобы обеспечить некоторый запас в случае превышения сигнала
порогового значения. Таким образом, выходной сигнал будет лежать в
диапазоне от 0,5В до 4,5В.
Расчет измерения по току сводится к расчету номинала резистора,
который
будет
обеспечивать
необходимое
падение
напряжения
на
измеряемом участке цепи [4]. Так как датчик тока представляем собой
трансформатор тока, то для расчета величины тока на вторичной обмотке
понадобятся следующие формулы (5) и (6):
k=
N1
,
N2
(5)
k=
I2
,
I1
(6)
где N1 и N2 – количество витков на первичной и вторичной обмотке, I1
и I2 – значения тока на первичной и вторичной обмотке, k – коэффициент
трансформации.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
33
Подпись Дата
от взрывов и пожаров»
Таким образом, формула значения тока на вторичной обмотке сводится
к следующему виду (7):
I2 =
N 1  I1
.
N2
(7)
Количество витков на трансформаторе N2 = 3000, а максимальное
амплитудное значение тока, на которое рассчитан датчик, примем I1 = 4А.
Найдем значение тока на вторичной обмотке:
I2 =
1 4
= 0.0013А.
3000
Чтобы рассчитать сопротивление резистора, воспользуемся законом
Ома для участка цепи (8):
I=
U
,
R
(8)
где I – ток на участке цепи, U – напряжение на участке цепи, R –
сопротивление. Таким образом, сопротивление резистора равно:
R=
U
2
=
= 1538 Ом.
I 0.0013
Выбирается ближайший резистор номиналом 1,5кОм.
Расчет измерения по напряжению сводится к расчету резисторов
делителя напряжения, который будет ограничивать значения на измеряемом
участке цепи. Номиналы резисторов рассчитаем по следующей формуле (9):
U вых. = U вх.
R1
,
R1 + R2
(9)
где Uвых и Uвх – выходное и входное напряжение на участке цепи
соответственно, R1 и R2 – номиналы резисторов делителя напряжения.
Номиналы нужно подобрать таким образом, чтобы на участке цепи с
резистором R1 обеспечивалось падение напряжения 2В. Входное напряжение
трансформатора при 220В в сети равняется 5,1В. Таким образом, были
подобраны следующие номиналы резисторов: R1 = 8,2кОм, R2 = 13кОм.
Расчет измерения уровня.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
34
Подпись Дата
от взрывов и пожаров»
Для определения уровня воды в емкости используется датчик давления
с выходом 4-20мА. Чтобы подключить данный датчик к измеряемому входу
микроконтроллера, необходимо обеспечить требуемое падение напряжения
на измеряемом участке при помощи резистора. При расчете используются
следующие данные: максимальное напряжение на входе при 20мА не должно
превышать 4,5В, чтобы обеспечить некоторый запас в случае превышения
сигнала порогового значения. Номинал резистора рассчитывается
с
применением формулы (8):
R=
U
4.5
=
= 225 Ом.
I 20  10−3
Выбирается ближайший резистор с номиналом 220 Ом.
На рисунке 7 представлена принципиальная электрическая схема
разрабатываемого автоматизированного комплекса на базе Iskra Neo.
Управляющая плата Iskra Neo (DD1) считывает аналоговые (входы A0A4) и дискретные (входы D2,D3) сигналы с датчиков, управляет
замыканием/размыканием реле (вывод D12) и подает сигнал об аварии на
вывод D4.
Для
измерения
действующего
значения
тока
применяется
трансформатор тока (L1). Провод, на котором производится измерение,
выступает в качестве первичной обмотки трансформатора. Резистор R1
задает падение напряжение на измеряемом участке таким образом, чтобы
выходное амплитудное значение напряжения не превышало 2В. Резисторы
R2 и R3 делят опорное напряжение 5В для возможности измерения тока в
биполярном виде встроенным АЦП микроконтроллера. Измеряемые сигналы
с датчика тока поступают на входы A0 и A1 управляющей платы.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
35
Подпись Дата
от взрывов и пожаров»
Рисунок 7 — Принципиальная электрическая схема устройства
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
36
Подпись Дата
от взрывов и пожаров»
Для измерения действующего значения напряжения применяется
понижающий трансформатор (T1) с выходным напряжением 6В. Резисторы
R4 и R5 делят это напряжение таким образом, чтобы выходное амплитудное
значение напряжения не превышало 2В. Резисторы R6 и R7 делят опорное
напряжение 5В для возможности измерения напряжения в биполярном виде
встроенным АЦП микроконтроллера. Измеряемые сигналы с датчика
напряжения поступают на входы A2 и A3 управляющей платы.
Для измерения давления используется датчик тока 4..20мА, который
подключается к внешнему блоку питания 12В. Резистор R8 задает падение
напряжение на измеряемом участке таким образом, чтобы значение тока
20мА соответствовало 4,5В на выходе. Измеряемый сигнал с датчика
давления поступает на вход A5 управляющей платы.
Датчик потока воды YF-S201 подключается к линии 5В. С него
поступает импульсный дискретный сигнал на вход D3 управляющей платы с
частотой, пропорциональной скорости потока воды в трубопроводе. Датчик
«сухого хода» (S1) через оптопару VD5 подключается к выводу D2
управляющей платы.
В целях защиты от перенапряжения цепей с трансформаторами тока и
напряжения используется два двунаправленных защитных диода 1.5KE6.8CA
(VD1 и VD2 соответственно). Также для защиты от чрезмерной нагрузки
стоят предохранители номиналом 0,25А на первичной и вторичной цепи
трансформатора напряжения. Для предотвращения выхода из строя
управляющей платы
в результате подачи высокого напряжения на
измерительные участки цепи применяются защитные диоды, которые также
ограничивают отрицательные значения напряжения, которые недопустимы.
Так как датчик «сухого хода» будет находиться на значительном
удалении от устройства, то используется опторазвязка с применением
оптопары VD5 для повышения помехоустойчивости и защиты вторичных
цепей от возможных скачков напряжения.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
37
Подпись Дата
от взрывов и пожаров»
Функциональная схема автоматизированной системы управления
погружными
насосами
включает
в
себя
упрощенное
изображение
технологической схемы автоматизируемого процесса. Оборудование на
схеме показывается в виде условных изображений.
На разработанной функциональной схеме изображены системы
автоматического
контроля
по
току и
напряжению
питающей
сети
погружного насоса, регулирования уровня в заполняемой емкости, контроля
«сухого хода» насоса, контроля потока жидкости в трубопроводе,
дистанционного
управления
и
получения
параметров,
индикации
и
сигнализации.
На рисунке 8 изображена условная схема конструкции автоматизированной
системы управления погружным насосом.
Рисунок 8 – Условная схема конструкции системы управления
Через отверстие I обеспечивается забор воды из скважины или колодца,
которая поступает в рабочую полость насоса. Отверстие II служит
патрубком,
через
который
вода,
находящаяся
в
рабочей
полости,
транспортируется по трубопроводу в заполняемую емкость, которой в
данном случае выступает резервуар.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
38
Подпись Дата
от взрывов и пожаров»
Поршень IV в результате возвратно-поступательных движений создает
разность давлений, в результате чего происходит всасывание жидкости и ее
перемещение в водонапорный шланг. Элемент III условно обозначает корпус
камеры, где происходят все процессы. Шток V приводится в движение с
помощью эклектического привода, работающий от сети 220В.
Обозначение подключенных средств автоматизации представлено на
рисунке 9 .
Рисунок 9 – Операционный пульт функциональной системы
автоматизации
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
39
Подпись Дата
от взрывов и пожаров»
Датчик давления PT преобразует сигнал давления столба жидкости в
резервуаре в токовое значение от 4 до 20 мА и передает его на аналоговый
вход микроконтроллера. Показание регистрируется и передается на
дистанционный пульт управления.
Датчик «сухого хода» LSA следит за уровнем воды в скважине. Если
уровень падает ниже расположения отверстия для забора воды, то датчик
производит замыкание и передает дискретный сигнал микроконтроллеру.
Происходит регистрация данного сигнала.
Датчик
потока
жидкости
FT
регистрирует
движение
воды
в
трубопроводе и генерирует импульсный дискретный сигнал, который
передается
на
регистрация
дискретный
показаний,
вход
расчет
микроконтроллера.
скорости
потока
Производится
и
передача
на
дистанционный пульт управления.
Аналоговые датчики тока и напряжения EE преобразуют потребляемый
ток насосом и напряжение в сети соответственно в аналоговые сигналы
синусоидальный
формы,
микроконтроллера.
которые
Показания
поступают
на
регистрируются
аналоговые
и
входы
передаются
на
дистанционный пульт управления.
При выходе из строя датчика давления, осушении датчика «сухого
хода» и при достижении параметров тока и напряжения аварийных значений
происходит оповещение об аварии с помощью световой сигнализации HL1.
Сигнал генерируется посредством микроконтроллера, а также происходит
передача сигнализации на дистанционный пульт управления.
Для управления электродвигателем насоса применяется магнитный
пускатель NS. C его помощью осуществляется регулирование уровня воды в
баке.
Управляющий
сигнал
поступает
с
дискретного
входа
микроконтроллера. Также управление можно осуществлять с удаленного
пульта управления.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
40
Подпись Дата
от взрывов и пожаров»
2.3
Сборка и проверка аппаратного обеспечения
В процессе реализации устройства была разработана соответствующая
монтажная плата, выполненная в специализированной программе SprintLayout версии 5.0. Монтажная плата представлена на рисунке 10.
Печатная плата имеет следующие габариты: длина — 130 мм, ширина
— 70 мм. Клеммники для подключения реле, датчиков тока и напряжения
(разъемы X10, X3 и X1 соответственно) располагаются таким образом, чтобы
иметь доступ к силовой цепи, так как датчик напряжения подключается
параллельно к сети питания насоса, а датчик тока снимает показания на
обмотке. Реле устанавливается на разрыв питающего провода.
В
нижней
части
располагаются
клеммники
для
подключения
светодиода (X11), датчиков сухого хода, потока воды и уровня (X13, X2 и X4
соответственно), а также питания +12В (X5) для управляющей платы. Разъем
X2 служит для подключения внешнего блока питания +12В.
Так
как
разработанная
плата
будет
располагаться
справа
от
управляющей платы, то все входные/выходные сигналы вынесены в левую
часть платы. Разъем X8 служит для подачи управляющего воздействия на
реле. На разъем X6 выводятся аналоговые сигналы с датчиков тока,
напряжения и уровня.
К клеммнику X7 подключается сигнал питания с
выходом +5В, поступающий от платы управления. На разъем X8 выводятся
сигналы с датчиков сухого хода и потока жидкости, а также формируется
управляющий сигнал для сигнализации (светодиод).
Изготовление печатной платы производилось из фольгированного
одностороннего текстолита по технологии ЛУТ.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
41
Подпись Дата
от взрывов и пожаров»
Рисунок 10 — Монтажная схема платы устройства управления и защиты
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
42
Подпись Дата
от взрывов и пожаров»
Процесс изготовления платы состоял из следующих этапов:
- подготовка рисунка печатной платы и перенос на текстолит;
- травление платы;
- сверление технологических отверстий;
- лужение платы.
Монтаж радиодеталей осуществлялся в следующем порядке:
- подгонка до требуемой длины контактов радиодеталей и проводов;
- лужение элементов, подлежащих пайке;
- пайка согласно монтажной схеме.
В
качестве
корпуса
конечного
устройства
была
применена
распределительная коробка с габаритами 240x195x90. Для крепления всех
элементов была использована полипропиленовая плита. Заранее были
просверлены
технологические
отверстия
диаметром
2
мм
для
предотвращения появления трещин в процессе монтажа. Непосредственный
монтаж плат и модуля реле осуществлялся с помощью саморезов диаметром
3 мм. Установка и фиксация трансформатора тока производилась с помощью
монтажного клея. Сборочный чертеж устройства представлен в приложении
И.
Для крепления всех элементов была использована полипропиленовая
плита. Заранее были просверлены технологические отверстия диаметром 2
мм
для
предотвращения
появления
трещин
в
процессе
монтажа.
Непосредственный монтаж плат и модуля реле осуществлялся с помощью
саморезов диаметром 3 мм. Установка и фиксация трансформатора тока
производилась с помощью монтажного клея.
Схема монтажа силовой цепи представлена на рисунке 11 .
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
43
Подпись Дата
от взрывов и пожаров»
Рисунок 11 — Монтажная схема силовой цепи
Как видно на схеме, к общей цепи 220В подключаются блок питания
+12В и само устройство управления и защиты. Параллельно подключается
трансформатор напряжения. Через трансформатор тока проходит одна линия
цепи,
выполняющая
функцию
витка
первичной
обмотки.
Для
запуска/останова насоса используется реле, работающее в нормальноразомкнутом режиме, и, соответственно, замыкающее/размыкающее цепь
при подаче/сбросе управляющего сигнала.
Проверка сигнала датчика напряжения производилась следующим
образом: устройство подключалось к сети 220В, с соответствующего
аналогового входа снимались показания с помощью осциллографа. В
результате на выходе был получен синусоидальный сигнал с амплитудой 2В,
что соответствует расчетным
данным. Для проверки датчика тока
использовался проводник, через который был пропущен переменный ток с
действующим значением 3,5А. Реальное действующее значение тока
измерялось с помощью амперметра, а показания с датчика снимались с
помощью осциллографа. При данном значении на выходе был получен
синусоидальный сигнал с амплитудой 2В. Аналоговые сигналы смещения
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
44
Подпись Дата
от взрывов и пожаров»
нуля измерялись с помощью мультиметра. Значения этих сигналов были
равны 2,5В, что соответствует расчетным данным.
Модель полученного выходного сигнала с датчиков тока и напряжения
представлена на рисунке 12 .
Рисунок 12 – Модель выходного сигнала датчиков тока и напряжения
Сигнал с датчика 4-20мА имитировался с помощью переменного
резистора. Номинал был подобран таким образом, чтобы при минимальном
значении сопротивления ток был равен 23мА, а при максимальном — 3мА.
При изменении сопротивления производилось измерение выходного сигнала
с помощью мультиметра. При значении тока 20мА на выходе формировалось
постоянное напряжение 4,5В, что соответствует расчетным данным.
Сигналы датчиков сухого хода и потока жидкости имитировались с
помощью замыкания соответствующих контактов. При замыкании на линии
формировался сигнал +5В, что соответствует логической единице на входе
микроконтроллера.
помощью
Модуль реле и световая индикация проверялись с
микроконтроллера:
подавались
управляющие
сигналы
на
соответствующие входы, и визуально оценивалось работоспособность
данных элементов.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
45
Подпись Дата
от взрывов и пожаров»
РАЗРАБОТКА
3
ПРОГРАММНОЙ
СОСТАВЛЯЮЩЕЙ
АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ
Разработка интеллектуальных алгоритмов работы системы
3.1
Управляющая программа должна обеспечивать следующие функции:
- измерение напорного давления в заполняемой емкости и перевод в
высоту столба жидкости (в метрах);
- управление погружным насосом в соответствии с установленными
уровнями в заполняемой емкости;
- контроль «сухого хода», отключение насоса при осушении насоса,
возобновление работы при намокании датчика;
- измерение скорости потока жидкости и перевод в требуемые единицы
измерения (м3/час);
- контроль потребляемого тока насосом и защитное отключение при
превышении аварийного значения;
- контроль напряжения в сети и защитное отключение при превышении
аварийного значения;
- контроль исправности датчика 4-20мА;
-
световая
сигнализация
при
возникновении
аварий
или
неисправностей;
- передача измеряемых данных на дистанционный пульт управления;
- передача сообщений о возникновении неисправностей или аварий;
- выполнение команд, поступающих с диспетчерского пункта.
При разработке алгоритма основного блока управления был выбран
способ организации логики, основанный на switch-технологии. Switchтехнология — технология разработки систем логического управления [9].
Ключевым понятием в рассматриваемой технологии программирования
Изм. Лист
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
Подпись Дата
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Разработка программной
составляющей
автоматизированной
системы
Лит.
Лист
Листов
46
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
является конечный автомат (КА). Центральным понятием разрабатываемого
подхода является понятие "состояние" автомата. Правила перевода из одного
состояние в другое задаются структурой КА [9,12].
Данный способ организации логики был выбран, так как он обладает
следующими преимуществами [9]:
- в наглядной графической форме могут быть выражены как связи между
автоматами, так и их внутренняя структура;
- разработанный код можно использовать повторно;
- автомат является автономной единицей программы, его связи с
остальными автоматами сведены к минимуму и унифицированы;
- программы, построенные по switch-технологии, легко поддаются
модификации.
При
разработке
диаграммы
состояний
управляющей
программы
преимущественно будет использоваться автомат Мура, так как его удобнее
реализовать на языке программирования. Но не исключен вариант
применения смешанного автомата, так как некоторые управляющие
воздействия легче реализовывать на переходах между состояниями.
Под входом будет предполагаться выполнение некоторого логического
условия, на основе которого будет происходить переход в другое состояние.
Также возможен опрос периферийных устройств.
Выходом
будет
являться
управление
аппаратными
ресурсами
микроконтроллера, генерация внешних воздействий, запуск или останов
таймеров. К выходам будут относиться таким понятия как действие и
деятельность. Действие является однократным выходным воздействием, как
правило, происходящее при входе в состояние. Деятельность – выходное
воздействие, которое происходит все время, пока автомат находится в
определенном состоянии. При выходе из состояния также могут быть
реализованы различного рода действия.
Граф переходов конечного автомата основного блока управления
приведен на рисунке 13 .
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
47
Подпись Дата
от взрывов и пожаров»
Рисунок 13 – Граф переходов основного блока управления
Граф переходов состоит из пяти состояний. В первом состоянии
происходит задержка по времени t1. Это необходимо, чтобы все
периферийные модули успели провести инициализацию. При этом не
осуществляются никакие выходные воздействия.
После истечения таймера t1 происходит переход в состояние 2. Здесь
осуществляется
управление насосом
согласно
заданным
параметрам.
Формируется внешнее воздействие Z1. Разделение на отдельные состояния
по включению и выключению насоса не было осуществлено по той причине,
чтобы упростить переходы между состояниями, так как при управлении
насосом одновременно осуществляется контроль «сухого хода». При
осушении датчика «сухого хода» идет формирование воздействия X1 и
происходит переход в состояние 3.
В состоянии 3 происходит отключение насоса и ожидание заполнения
водой скважины или колодца в течение времени t2. Когда время истечет, то
можно считать, что уровень воды восстановился и можно продолжать работу
насоса. Происходит переход в состояние 2.
Параллельным потоком вместе с состояниями 2 и 3 идет проверка на
аварийные события X2. Если они происходят, то осуществляется переход в
состояние 4, где происходит обработка аварий и формирование воздействия
Z3, формирующего уведомление о неисправности.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
48
Подпись Дата
от взрывов и пожаров»
Для выхода из состояния формируется входное воздействие X3,
возвращающее автомат в состояние 2.
На рисунке 14 представлен общий алгоритм управляющей программы.
Рисунок 14.1 — Алгоритм программы управления
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
49
Подпись Дата
от взрывов и пожаров»
Рисунок 14.2 — Алгоритм программы управления (продолжение)
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
50
Подпись Дата
от взрывов и пожаров»
Рисунок 14.3 — Алгоритм программы управления (продолжение)
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
51
Подпись Дата
от взрывов и пожаров»
При подаче питания происходит инициализация аналоговых и
дискретных входов. Инициализируются дискретные выходы и функция
управления насосом. Объявляются глобальные и локальные переменные.
Дальнейшая работа программы осуществляется в бесконечном цикле.
Сначала происходит измерение аналоговых сигналов датчиков тока,
напряжения и уровня. Для величин тока и напряжения производится
вычисление
действующего
значения.
Из
оцифрованных
значений,
представленных в единицах АЦП, осуществляется перевод в требуемые
единицы измерения:
- по току – в амперах с точностью до сотой;
- по напряжению – в вольтах;
- по уровню – в метрах с точностью до сотой.
Считывается количество импульсов датчика потока воды за период,
равный одной секунде. Непосредственный подсчет импульсов реализован в
обработчике внешнего прерывания. Производится расчет потока воды по
определенной формуле, измеряемый в л/час.
Далее на основе полученных данных принимаются решения по
управлению насосом. Перед выполнением команд идет задержка, равная
одной секунде, необходимая для инициализации датчиков и предотвращения
ложных срабатываний.
По истечении задержки происходит управлению насосом по показанию
датчика уровня (датчик 4-20мА). Если уровень ниже минимального, то
происходит включение насоса. Если уровень превысит максимальное
значение, то происходит выключение насоса. Осуществляется постоянный
контроль наличия воды в скважине для предотвращения сухого хода насоса.
Если вода в скважине закончилась, то насос выключается и подается
сообщение об отсутствии воды в скважине. Также происходит индикация
светодиода миганием частотой 1 Гц. В данном состоянии устройство
находится в течение одного часа для того, чтобы вода в скважине успела
набраться.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
52
Подпись Дата
от взрывов и пожаров»
Постоянно осуществляется контроль по датчикам тока и напряжения
для защиты насоса от перенапряжения в сети и высоких токов. Если эти
величины
превысят
соответствующие
максимальные
значения,
то
происходит аварийное отключение насоса и подается сообщение об аварии.
Реализован контроль состояния датчика 4-20мА. При его обрыве также
происходит аварийное отключение насоса и подается сообщение об обрыве.
В аварийном состоянии включается светодиод, оповещающий о неполадке.
Для выхода из аварийного состояния возводится флаг перезапуска
системы управления. В таком случае происходит сброс аварии и возвращение
к режиму управления по датчику уровня.
В конце происходит обработка данных, принятых по USB интерфейсу. Если
данные соответствуют определенной команде устройства, то происходит ее
выполнение, в противном случае данные игнорируются.
3.2
Интеграция математической модели работы насоса в программный код
При интеграции математической модели в программный код были
реализованы две задачи:
- произведен расчет среднего расхода воды на основе модели хода
поршня;
- разработан алгоритм защиты насоса при отклонении от нормального
режима работы.
На основе формулы (4) был произведен расчет среднего расхода воды,
который будет сравниваться с показанием датчика потока жидкости. Так как
на тестовом стенде, где происходило тестирование и наладка системы, насос
располагается на незначительной глубине и длина трубопровода от насоса до
датчика мала, то потерей напора можно пренебречь и считать, что на датчике
создается давление, приближенное к давлению на выходе насоса.
Перед тем как произвести расчет среднего значения потока жидкости,
нужно задать параметры, необходимые для расчета, с помощью директивы
#define:
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
53
Подпись Дата
от взрывов и пожаров»
#define S 0.5
#define N 100
#define F 8.333
#define K 0.08
Здесь S – ход поршня, выраженный в сантиметрах; N – число ходов
поршня в секунду; F – площадь поршня, выраженная в квадратных
сантиметрах; K – коэффициент кривошипно-шатунного механизма.
Объявим переменные, которые будут хранить расчетные параметры,
необходимые для построения математической модели:
float w;
float r;
Здесь w – угловая скорость, выраженная в радианах в секунду; r –
радиус кривошипа, выраженный в сантиметрах. Данные переменные имеют
тип c сплывающей запятой float, что обеспечивает высокую точность
расчетных данных.
Определим переменные с нулевым начальным значением, которые
будут хранить параметры, используемые при расчете:
float Q_max = 0;
float Q_inst = 0;
float Q_mean = 0;
float x = 0;
Здесь Q_max – максимальное найденное мгновенное значение расхода
воды, выраженное в кубических сантиметрах в секунду; Q_inst – мгновенное
значение расхода воды, выраженное в кубических сантиметрах в секунду;
Q_mean – среднее найденное значение расхода воды, выраженное в
кубических сантиметрах в секунду; x – перемещение поршня, выраженное в
радианах.
Для начала произведем расчет переменных w и r c на языке Си:
w = 2*PI*N;
r = S / 2;
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
54
Подпись Дата
от взрывов и пожаров»
Здесь PI – константное значение, численно равное числу π с точностью
до тридцать первого знака после запятой.
С помощью цикла while() реализуем поиск максимального значения
мгновенного расхода воды, используя формулу (3):
while (x < 2*PI)
{
Q_inst = F*w*r*(sin(x)+(K/2)*sin(2*x));
if (Q_inst > Q_max) Q_max = Q_inst;
x += 0.01;
}
Изменение перемещения осуществляется с шагом 0.01, которое
происходит в результате инкрементирования переменной x. На основе
данной переменной реализуется расчет мгновенного значения расхода воды
Q_inst. Далее идет логическая операция сравнения рассчитанного значения с
максимальным найденным мгновенным значением в данный момент
времени. Если Q_inst оказывается больше Q_max, то происходит присвоение
переменной Q_max нового максимального значения. При расчете был взят
диапазон 2 π, что соответствует полному ходу поршня. Таким образом, при
достижении данного значения происходит выход из цикла.
Для расчета среднего значения расхода воды Q_mean воспользуемся
формулой (4) и реализуем ее на языке Си:
Q_mean = 0.318 * Q_max;
В результате получаем расчетный средний расход воды, который
должен быть при нормальной работе насоса с учетом допущений,
указанными ранее.
Для защиты двигателя насоса в общий алгоритм автоматизированной
системы
была
интегрирована
логика
управления,
учитывающая
и
анализирующая характер подачи воды на основе датчика потока жидкости.
Разработанный алгоритм в виде блок-схемы представлен на рисунке 15.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
55
Подпись Дата
от взрывов и пожаров»
Рисунок 15 — Алгоритм защиты насоса на основе математической модели
Вначале происходит объявление всех переменных, необходимых для
расчетов. Далее происходит расчет среднего значения расхода воды согласно
коду, представленному выше. При включении насоса выжидается некоторый
промежуток времени, необходимый для того, чтобы насос вышел на рабочий
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
56
Подпись Дата
от взрывов и пожаров»
режим. После того, как прошло время пуска, начинается отслеживание
расхода воды и его сравнение с расчетным значением. Если показания
датчика отличаются от расчетных (с учетом допущений), то происходит
защитное отключение насоса и передача соответствующего сообщения
оператору.
3.3
Кодирование и отладка
Программный код был реализован на языке программирования С++. В
качестве среды разработки была использована Atmel Studio версии 7.0.
Данная среда предоставляет инструментарий для разработки приложений для
8-битных микроконтроллеров семейства AVR от компании Microchip. Данная
IDE
содержит
редактор
исходных
кодов,
виртуальный
симулятор,
внутрисхемный отладчик. Atmel Studio содержит компиляторы GNU C/C++,
что позволяет реализовывать проекты на этих языках. Также есть
возможность использовать исходные файлы на ассемблере [18].
Для сокращения сроков написания программного кода и облегчения
кодирования и отладки были применены API функции Arduino IDE. Данный
API обеспечивает простой доступ к периферии микроконтроллера с
содержанием базовых библиотек. Также есть возможность подключения
дополнительных библиотек для возможности расширения функционала API
[17].
Для начала реализуем автомат основного блока управления. Все
конечные автоматы реализуются в виде двух внешних функций, имеющие
следующий общий вид:
void InitFSM(void);
void ProcessFSM(void);.
Функция InitFSM инициализирует автомат, а функция ProcessFSM
отвечает за работу автомата. На каждой итерации основного цикла
программы вызываются функции ProcessFSM всех автоматов. Структура
функции ProcessFSM реализована с помощью конструкции «switch case»
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
57
Подпись Дата
от взрывов и пожаров»
языка Си. Тело оператора switch состоит из ряда меток case и необязательной
метки default. Для остановки выполнения и контроля передачи после
оператора switch используется оператор break. Каждой конструкции «case
break» соответствует определенное состояние автомата [6,12].
Перед тем как реализовывать основной блок управления насосом,
опишем состояния автомата с помощью перечисляемого типа enum:
typedef enum {
STATE_DELAY_START,
STATE_CONTROL,
STATE_WAIT_WATER,
STATE_ALARM,
} state_t;
где STATE_DELAY_START – задержка после подачи питания,
STATE_CONTROL – управление насосом по показаниям датчика уровня,
STATE_WAIT_WATER – ожидание заполнения скважины ил колодца водой,
STATE_ALARM – аварийное состояние.
Таким же способом опишем ошибки, которые будет регистрировать
программа:
enum{ERROR_NONE,ERROR_I,ERROR_U,ERROR_H,ERROR_C}error;
где ERROR_NONE – отсутствие ошибки, ERROR_I – ошибка по
аварийному току, ERROR_U – ошибка по перенапряжению, ERROR_H –
ошибка выхода из строя датчика 4-20мА, ERROR_C – ошибка потока воды,
error – переменная, хранящая текущую ошибку.
В функции setup() произведем инициализацию автомата посредством
функции init_control():
state = STATE_DELAY_START;
last_state = STATE_ALARM;
где state – текущее состояние автомата, last_state – предыдущее
состояние автомата.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
58
Подпись Дата
от взрывов и пожаров»
В теле loop() будет вызываться функция process_control(), которая
реализовывает основное тело конечного автомата. Зададим статические
переменные cur_time и prev_time, которые будут хранить текущее время и
предыдущее время соответственно. Эти переменные требуются для
реализации локальных таймеров конечного автомата. Чтобы получить
текущее время, используется API функция Arduino millis(), которая
возвращает число миллисекунд с момента начала выполнения программы.
Перед входом в тело конструкции «switch case» используется
следующее логическая конструкция:
if (last_state != state) fEntry = true;
else fEntry = false;
last_state = state;
где fEntry – статическая логическая переменная (bool), являющаяся
флагом перехода в новое состояние.
Перейдем к рассмотрению основной конструкции «switch case» и
опишем все состояния, реализованные в метках case.
Первое состояние, в которое переходит автомат основного блока
управления, описано ниже.
case STATE_DELAY_START:
if (fEntry) prev_time = millis();
cur_time = millis();
if (cur_time >= prev_time + 1000) state = STATE_CONTROL;
break;
Вначале идет проверка входа в состояние, получение текущего времени
и его запись в переменную prev_time. Далее происходит периодический
опрос времени, запись в переменную cur_time и его сравнение с prev_time. С
помощью условия сравниваются данные значения, и если текущее время
станет равно или больше предыдущего чем на одну секунду, то произойдет
присвоение переменной state нового состояния.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
59
Подпись Дата
от взрывов и пожаров»
Следующее состояние содержит логику управления насосом и
контроль сухого хода. Его реализация на языке C приведена ниже.
case STATE_CONTROL:
if (fEntry) {
error = ERROR_NONE;
digitalWrite(OUT_ALARM,ALARM_OFF);
}
if (value_H > high_level) digitalWrite(OUT_RELAY,LOW);
else
if (value_H < low_level) digitalWrite(OUT_RELAY,HIGH);
if (!fDetectWater) state = STATE_WAIT_WATER;
break;
При переходе в состояние происходит сброс ошибки, если таковая
имелась и выключение аварийной сигнализации. Далее идет проверка уровня
воды в заполняемой емкости. Если уровень выше заданного значения, то
происходит подача низкого логического уровня на управляющий вход реле, и
происходит выключение насоса. В противном случае осуществляется
проверка нижнего уровня: если условие выполняется, то происходит
включение насоса. Таким образом, происходит поддержание требуемого
уровня в заполняемой емкости. В данном случае реализован приоритет
операций, чтобы в случае некорректно заданных значений диапазона или
неправильной работы датчика уровня исключить вероятность включения
насоса.
В конце происходит проверка флага наличия воды в скважине, которая
является входным воздействием. Если вода не будет обнаружена, то
произойдет присвоение переменной state нового состояния.
Также в данном состоянии реализован подавтомат контроля потока
воды. Исходный код условия представлен ниже.
case SUBSTATE_CHECK:
if (value_C < Q_mean * 0.9) error = ERROR_C;
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
60
Подпись Дата
от взрывов и пожаров»
break;
Если подача воды оказывается ниже чем на 90% от расчетной, то
происходит установка ошибки ERROR_C. Для того чтобы насос успел выйти
на рабочий режим, подавтомат находится некоторое время в состоянии
SUBSTATE_DELAY, в котором проверка не осуществляется.
В
состоянии
STATE_WAIT_WATER
реализовано
ожидание
заполнения скважины. Рассмотрим его по приведенному ниже листингу.
case STATE_WAIT_WATER:
if (fEntry) {
digitalWrite(OUT_RELAY,LOW);
count_delay = 0;
prev_time = millis();
Serial.println("Net vody` v skvazhine!");
}
cur_time = millis();
if (cur_time >= prev_time + 500) {
digitalWrite(OUT_ALARM,digitalRead(OUT_ALARM)^1);
count_delay++;
prev_time = cur_time;
}
if (count_delay == 7200) state = STATE_CONTROL;
break;
При
переходе
в
состояние
происходит
выключение
насоса,
сбрасывается счетчик задержки сухого хода count_delay, получение текущего
времени и его запись в переменную prev_time, вывод по интерфейсу
сообщения о том, что вода в скважине закончилась.
Далее каждые 500 мс осуществляется инкрементирование счетчика
count_delay и мигание светодиода с частотой 1 Гц. Для того, чтобы скважина
наполнилась, ожидается время, равное одному часу. Будем считать, что за
это время уровень воды должен восстановиться. Достижение счетчика
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
61
Подпись Дата
от взрывов и пожаров»
count_delay значения 7200 означает, что прошло 3600 секунд, что
соответствует одному часу ожидания. В этом случае произойдет присвоение
переменной state состояния STATE_CONTROL, и продолжится управление
насосом согласно датчику уровня.
Состояние
STATE_ALARM
описывает
работу
программы
при
обнаружении аварии. Его листинг представлен ниже.
case STATE_ALARM:
if (fEntry) {
digitalWrite(OUT_RELAY,LOW);
digitalWrite(OUT_ALARM,ALARM_ON);
switch (error) {
case ERROR_I:
Serial.println("Avariia po toku!");
break;
case ERROR_U:
Serial.println("Avariia po napriazheniiu!");
break;
case ERROR_H:
Serial.println("Avariia po datchiku 4-20!");
break;
case ERROR_C:
Serial.println("Avariia po rashodu vody`!");
break;}
}
break;
В данном состоянии реализована генерация только однократных
выходных воздействий, так называемых действий. Таким образом, при входе
в состояние происходит аварийное отключение насоса, включение световой
сигнализации, вывод сообщения об аварии с указанием ошибки, которая
была обнаружена.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
62
Подпись Дата
от взрывов и пожаров»
Для того, чтобы обнаружить аварию, параллельно с состояниями
STATE_CONTROL и STATE_WAIT_WATER осуществляется проверка на
наличие недопустимых значений. Листинг приведен ниже.
if (state == STATE_CONTROL || state == STATE_WAIT_WATER) {
if (value_I > I_MAX) error = ERROR_I;
if (value_U > U_MAX) error = ERROR_U;
if (analogRead(ANALOG_VALUE_H)*COEF_H < MKA_MIN)
error = ERROR_H;
if (error) state = STATE_ALARM;
}
Последовательно идет проверка на превышение токовой величины
аварийного значения I_MAX, напряжения на превышение максимального
значения ERROR_U и тока датчика 4-20мА на минимальное значение
MKA_MIN. Если одно из условий выполняется, то устанавливается
соответствующая ошибка посредством записи в переменную error. Если в
результате проверки указанной переменной она оказывается отличной от
нуля,
то
происходит
присвоение
переменной
state
состояния
STATE_ALARM.
Для того чтобы иметь возможность выйти из данного состояния, с
помощью удаленного пульта управления осуществляется установка флага
сброса fReset, при проверке которого происходит переход в состояние
STATE_CONTROL.
Для работы с аналоговыми датчиками был создан исходный файл
analog.c, где были реализованы следующие операции:
- выборка значений по току и напряжения за один период аналогового
сигнала;
- расчет действующих значений по току и напряжению;
-
периодическое
измерение
смещения
нуля
датчиков
тока
и
напряжения;
- измерение датчика 4-20мА;
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
63
Подпись Дата
от взрывов и пожаров»
- перевод полученных значений АЦП в требуемые единицы измерения.
Для
инициализации
аналогового
модуля
реализована
функция
analog_init(), где происходит определение всех переменных, требующихся
для работы с аналоговыми датчиками. В функции analog_calc() реализован
алгоритм измерения показаний аналоговых датчиков.
Для работы с дискретными датчиками был создан исходный файл
discret.c, где были реализованы следующие операции:
- опрос датчика сухого хода;
- опрос датчика потока жидкости, подсчет импульсов;
- расчет скорости потока воды.
Для
инициализации
дискретного
модуля
реализована
функция
discret_init(),где происходит определение всех переменных, требующихся для
работы с дисретными датчиками. Тело данной функции представлено ниже.
void discret_init (void) {
pinMode(IN_DETECT_WATER,INPUT);
pinMode(IN_COUNT_WATER,INPUT_PULLUP);
NbTopsFan = 0;
attachInterrupt(NUM_INPERRUPT, handler_interrupt, FALLING);
}
Здесь IN_DETECT_WATER и IN_COUNT_WATER – дискретные
входы, к которым подключаются датчики сухого хода и датчик потока
жидкости соответственно, NbTopsFan – переменная, в которой хранится
количество подсчитанных импульсов.
В
обработчике
прерывания
handler_interrupt()
происходит
инкрементирование переменной NbTopsFan.
Обработки датчиков и расчеты реализуются в функции discret_calc(),
листинг которой представлен ниже.
void discret_calc (void) {
static unsigned long cur_time, prev_time;
cur_time = millis();
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
64
Подпись Дата
от взрывов и пожаров»
if (cur_time >= prev_time + 1000) {
cli();
value_C = NbTopsFan * WEIGHT;
NbTopsFan = 0;
sei();
prev_time = cur_time; }
fDetectWater = digitalRead(IN_DETECT_WATER) ? 0 : 1;
}
Раз в секунду происходит расчет потока жидкости в требуемых
единицах
измрения
(см3/сек)
на
основании
накопленного
значения
переменной NbTopsFan, и осуществляется его присваивание переменной
value_C. Для того чтобы обеспечить атомарность операций расчета,
используется системная функция cli(), запрещающая прерывания. В конце
происходит опрос входа датчика сухого хода. Если сигнал присутствует, то
устанавливается флаг наличия воды fDetectWater, в противном случае флаг
сбрасывается.
При отладке программного кода использовалась плата Arduino Uno.
Первым этапом являлась проверка блока работы с аналоговыми датчиками:
была произведена компиляция и загрузка исполняемого файла в плату. К
аналоговым входам были подключены переменные резисторы, выступающие
в качестве делителя напряжения, для того, чтобы сымитировать изменение на
входах. Данные выводились через последовательный порт и отображались на
мониторе. При уменьшении и повышении сопротивления резисторов на
входах наблюдались соответствующие изменения, что свидетельствует о том,
что программа работает корректно.
На втором этапе проводилась проверка блока работы с дискретными
датчиками по аналогии с первым. К входу датчика «сухого хода»
подключалась контактная кнопка, имитирующая замыкание датчика. Для
проверки работы входа для датчика потока жидкости также использовалась
контактная кнопка, с помощью которой производилось несколько замыканий
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
65
Подпись Дата
от взрывов и пожаров»
в течение секунды. Данные выводились через последовательный порт и
отображались на мониторе. При изменении состояния входов наблюдались
соответствующие изменения, что свидетельствует о том, что данная часть
кода работает корректно.
Проверка алгоритма управления насосом происходила с помощью
имитации различных ситуаций, на которые должна реагировать система. При
тестировании были получены следующие результаты:
- в течение одной секунды после подачи питания устройство не
реагировало на различные изменения на входах;
- при снижении напряжения на входе датчика 4-20мА происходило
замыкание реле;
- при повышении напряжения на входе датчика 4-20мА происходило
размыкание реле;
- при пропадании сигнала датчика «сухого хода» происходило
размыкание реле, появлялась световая индикация с частотой мигания 1 Гц;
через время, равное одному часу, работа системы возобновлялась;
- при возникновении аварийной ситуации происходило размыкание
реле, появлялась постоянная световая индикация; при подаче команды на
сброс происходил возврат в нормальный режим работы.
Следуя из вышесказанного, можно сделать вывод, что блок управления
насосом работает корректно.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
66
Подпись Дата
от взрывов и пожаров»
4
РЕАЛИЗАЦИЯ
И
АПРОБАЦИЯ
АВТОМАТИЗИРОВАННОЙ
СИСТЕМЫ
4.1
Установка оборудования и тестирование системы
Перед тестированием системы было выполнено подключение всех
датчиков и исполнительных элементов согласно схеме.
Выводы модуля реле были подключены к соответствующим выводам
разъема X10. К разъему X11 был подключен светодиод: катод – к входу «-»,
анод – к входу «+». К разъему X13 подключены контакты датчика
поплавкового типа, порядок подключения в данном случае неважен. Датчик
потока жидкости подключен с помощью трех контактов к соответствующим
входам разъема X12: питание, земля и сигнал с датчика. Аналоговый датчик
4-20мА подключен к разъему X4 по следующей схеме: питание – к входу
«+», выходной сигнал – к входу «-». Для питания устройства был
использован импульсный блок питания постоянного напряжением 12В с
максимальным выходным током 500мА. Он был подключен к разъему X2.
Все
подключенные
датчики
и
исполнительные
устройства
были
образом,
чтобы
зафиксированы с помощью винтов клеммных соединений.
Поплавковый
датчик
был
установлен
таким
размыкание контакта происходило в том случае, когда осушается отверстие
для забора воды. Таким образом, обеспечиваются:
- оперативное информирование о сухом ходе насоса;
- высокая скорость реакции и, следовательно, защитное отключение
насоса.
Датчик был закреплен на силовом кабеле погружного насоса с
помощью хомута.
Изм. Лист
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
Подпись Дата
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Реализация и апробация
автоматизированной
системы
Лит.
Лист
Листов
67
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
Датчик потока жидкости был подключен к шлангу от насоса с
помощью фиксирующей гайки с трубной резьбой ½ дюйма. При монтаже
было учтено расположение датчика, так он способен работать только в одном
направлении. Правильность установки было отслежено с помощью стрелки
на корпусе датчика, показывающая направление потока воды. К насосу был
подключен шланг и закреплен с помощью хомута. Вся система в сборе
продемонстрирована в приложении Е.
Калибровка датчика тока осуществлялась следующим способом: через
трансформатор пропускался провод, на него подавался ток различной
амплитуды; с помощью амперметра фиксировалось действующее значение
тока,
на
осциллографе
снималась
величина
напряжения
на
входе
микроконтроллера; в консоли выводилось рассчитанное действующее
значение в абсолютных единицах АЦП.
Выборка
показаний
осуществлялась
таким
образом,
чтобы
обеспечивалось изменение амплитудного значения напряжения на входе в
диапазоне от 0,2В до 2,2В в биполярном представлении. Изменение
величины происходило с шагом 0,2В.
В таблице 7, приведенной ниже, представлены следующие величины:
Uа – амплитудное значение напряжения на входе микроконтроллера, Uд –
действующее значение напряжения на входе микроконтроллера, Iвх –
измеряемое значение тока нагрузки, D – рассчитанное действующее значение
в абсолютных единицах АЦП.
Чтобы найти калибровочный коэффициент датчика тока, разделим
значения из четвертого столбца на значения из третьего. Получим величину,
в среднем равную 82. Это число и будет являться искомым коэффициентом.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
68
Подпись Дата
от взрывов и пожаров»
Таблица 7 – Полученные данные при калибровке датчика тока
Ua, В
Uд, В
Iвх, А
D, ед.
2,2
1,56
3,88
318
2
1,41
3,53
289
1,8
1,27
3,17
260
1,6
1,13
2,82
231
1,4
0,99
2,47
202
1,2
0,85
2,11
173
1
0,71
1,76
145
0,8
0,57
1,45
116
0,6
0,42
1,16
87
0,4
0,28
0,88
58
0,2
0,14
0,49
29
Отобразим на рисунке 16 зависимость полученных абсолютных
значений АЦП от измеренного значения действующего тока, чтобы оценить
линейность измерений.
Рисунок 16 – График измерений датчика тока
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
69
Подпись Дата
от взрывов и пожаров»
Как видно из графика, почти на всем отрезке сохраняется линейность
измерений. Незначительная нелинейность проявляется в начале графика, что
связано с низкой разрядностью АЦП микроконтроллера и оказанием
существенного влияния шума на аналоговом входе.
Калибровка датчика напряжения осуществлялась по аналогии с
предыдущим
методом:
лабораторный
к
трансформатору
автотрансформатор,
с
напряжения
помощью
которого
подключался
задавалось
напряжение различной амплитуды; с помощью вольтметра фиксировалось
действующее значение напряжения, на осциллографе снималась величина
напряжения на входе микроконтроллера; в консоли выводилось рассчитанное
действующее значение в абсолютных единицах АЦП.
Выборка
показаний
осуществлялась
таким
образом,
чтобы
обеспечивалось изменение амплитудного значения напряжения на входе в
диапазоне от 0,2В до 2,2В в биполярном представлении. Изменение
величины происходило с шагом 0,2В.
В таблице 8, приведенной ниже, представлены следующие величины:
Uа – амплитудное значение напряжения на входе микроконтроллера, Uд –
действующее значение напряжения на входе микроконтроллера, Uвх –
измеряемое значение напряжения в сети, D – рассчитанное действующее
значение в абсолютных единицах АЦП.
Чтобы найти калибровочный коэффициент датчика напряжения,
разделим значения из четвертого столбца на значения из третьего. Получим
величину, в среднем равную 1,18. Это число и будет являться искомым
коэффициентом.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
70
Подпись Дата
от взрывов и пожаров»
Таблица 8 – Полученные данные при калибровке датчика напряжения
Uа, В
Uд, В
Uвх, В
D, ед.
2,2
1,56
270
319
2
1,41
245
285
1,8
1,27
220
262
1,6
1,13
196
229
1,4
0,99
171
200
1,2
0,85
148
175
1
0,71
122
143
0,8
0,57
98
118
0,6
0,42
73
89
0,4
0,28
49
61
0,2
0,14
24
32
Отобразим на рисунке 17 зависимость полученных абсолютных
значений АЦП от измеренного значения действующего напряжения, чтобы
оценить линейность измерений.
Рисунок 17 – График измерений датчика напряжения
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
71
Подпись Дата
от взрывов и пожаров»
Как видно из графика, почти на всем отрезке сохраняется линейность
измерений. Незначительная нелинейность проявляется в начале графика, что
связано с низкой разрядностью АЦП микроконтроллера и оказанием
существенного влияния шума на аналоговом входе.
При калибровке входа датчика 4-20мА применялось изменяемое
нагрузочное сопротивление, которое формировалось с помощью магазина
сопротивлений Р33. Получаемый ток на входе фиксировался с помощью
мультиметра. В консоли выводилось значение в абсолютных единицах АЦП.
Перед подключением магазина сопротивлений нужно задать минимальное
сопротивление цепи, чтобы ограничить ток на входе. Для этого используется
следующая формула (10):
I вх =
U
,
Rвх + R1
(10)
где Iвх – ток на входе, U – напряжение питания датчика, Rвх –
сопротивление на входе, R1 – ограничивающее сопротивление.
Максимальный ток рассчитывается по следующей формуле (11):
I max =
U max
,
Rвх
(11)
где Imax – максимальный ток на входе, Umax – максимальное
допустимое напряжение на входе АЦП.
Приняв Umax = 5В, получаем:
I max =
5
= 0.023 А.
220
Найдем R1, воспользовавшись формулой (10) и подставив напряжение
питания датчика U = 12В:
R1 =
12
− 220 = 301.74 Ом.
0.023
В результате был выбран резистор с номиналом 300 Ом.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
72
Подпись Дата
от взрывов и пожаров»
Выборка
показаний
осуществлялась
таким
образом,
чтобы
обеспечивалось изменение тока на входе в диапазоне от 4мА до 20мА.
Изменение величины происходило с шагом 2мА.
В таблице 9, приведенной ниже, представлены следующие величины:
Rобщ. – общее сопротивление цепи, R1 – ограничивающее сопротивление, I
– ток на входе, D – полученное значение в абсолютных единицах АЦП.
Таблица 9 – Полученные данные при калибровке входа 4-20мА
Rобщ., Ом
R1, Ом
I, мА
D, ед.
520
300
23
1002
600
380
20
870
667
447
18
783
750
530
16
696
857
637
14
609
1000
780
12
522
1200
980
10
435
1500
1280
8
348
2000
1780
6
261
3000
2780
4
174
Для удобства расчета уровня в заполняемой емкости калибровочный
коэффициент будет отражать зависимость тока в микроамперах от значения в
единицах АЦП. Чтобы его найти, переведем значения из третьего столбца в
микроамперы и разделим на значения из четвертого. Получим величину, в
среднем равную 23. Это число и будет являться искомым коэффициентом.
Отобразим на рисунке 18 зависимость полученных абсолютных
значений АЦП от измеренного значения тока на входе, чтобы оценить
линейность измерений.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
73
Подпись Дата
от взрывов и пожаров»
Рисунок 18 – График измерений входа 4-20мА
Как видно из графика, на всем отрезке сохраняется линейность
измерений. Проявления нелинейности в начале, которое можно было
наблюдать при калибровке датчиков тока и напряжения, здесь отсутствует.
Это связано с тем, что разрешение АЦП в данном случае выше и что
показания не опускаются ниже определенного значения.
Для расчета расхода воды в кубических сантиметрах в секунду
производился подсчет импульсов за один период времени и умножался на
вес одного импульса. Данная величина подбиралась, основываясь на
паспортных данных насоса и характеристиках датчика.
После калибровки датчиков и монтажа всех элементов было произведено
тестирование системы с имитацией условий запуска и останова насоса.
Данные с датчиков передавались по интерфейсу, выводились в консоли и
сравнивались с реальными значениями.
На рисунках 19 и 20 изображены результаты реализации и апробации
системы.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
74
Подпись Дата
от взрывов и пожаров»
Рисунок 19 – Реализация системы управления погружным насосом
Рисунок 20 –Апробация системы управления погружным насосом
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
75
Подпись Дата
от взрывов и пожаров»
4.2
Анализ экономических показателей эффективности и точности работы
системы
Для оценки экономических показателей ниже приведена таблица 10, в
которой указана стоимость всех комплектующих, использованных при
разработке и сборке устройства.
Таблица 10 – Затраты при разработке и сборке устройства
Наименование
Цена
Плата Iskra Neo
870,00р.
Распределительная коробка
300,00р.
Розетка
75,00р.
Трансформатор напряжения
150,00р.
Трансформатор тока
100,00р.
Релейный модуль
50,00р.
Радиоэлементы
75,00р.
Крепежные элементы
150,00р.
Расходные материалы
150,00р.
Итого
1 890,00р.
Был проведен анализ рынка аналогов разработанного устройства, в
результате которого подобраны следующие устройства со схожими
характеристиками и предлагаемым функционалом [20]:
- Пампэла КИВ1 Б3 автоматика для насосов;
- Пампэла Вистан-3 станция управления вибрационным насосом
(Малыш, Ручеек);
- станция управления бытовым вибрационным насосом Водолей КИВ
Вистан.
Диаграмма сравнения цены разработанного устройства с указанными
аналогами приведена на рисунке 21.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
76
Подпись Дата
от взрывов и пожаров»
Рисунок 21 – Диаграмма экономических показателей эффективности
Как видно на диаграмме, себестоимость разработанного устройства
намного ниже цен аналогов на рынке.
Для оценки точности работы устройства найдем погрешность
измерений датчиков тока и напряжения по данным, представленным в
таблицах 7 и 8 соответственно. Для этого применим следующие формулы
(12) и (13):
1 =
D1
− I вх ,
k1
(12)
2 =
D2
− U вх ,
k2
(13)
где 1 и  2 – абсолютная погрешность датчиков тока и напряжения
соответственно; k1 и k 2 – калибровочные коэффициенты для датчиков тока и
напряжения соответственно; D1 , D2 , I вх , U вх – табличные значения.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
77
Подпись Дата
от взрывов и пожаров»
Таким образом, подставив все значения из таблиц, получим следующие
средние показатели абсолютной погрешности: 1 = 0,04А,  2 = 2В.
Для определения относительной погрешности воспользуемся формулой
(14):
=

 100 ,
XN
(14)
где  – приведенная погрешность, выраженная в процентах; X N –
нормирующее значение.
Тогда погрешности датчиков тока и напряжения соответственно равны:
1 =
0.04
 100 = 1.03 %,
3.88
2 =
2
 100 = 0.74 %.
270
Следовательно,
точность
датчика
тока
равна
98,97%,
датчика
напряжения – 99,26%.
Приведенная погрешность датчика 4-20мА согласно таблице 4 равна
1%. Погрешность датчика потока жидкости согласно таблице 5 равна 10%.
Таким образом, точность датчиков давления и потока воды соответственно
равны 99% и 90%.
На
рисунке
22
представлена
диаграмма
сравнения
точности
измерительных элементов разработанной системы.
Как видно по диаграмме, самой низкой точностью обладает датчик
потока жидкости, что нужно будет учесть при анализе точности
математической модели, так как оценка будет происходить, основываясь на
показаниях данного датчика.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
78
Подпись Дата
от взрывов и пожаров»
Рисунок 22 – Диаграмма оценки точности системы
4.3
Анализ точности математической модели
Для анализа точности математической модели реальный расход воды и
среднее расчетное значение расхода отображались в реальном времени в
виде графика посредством программы SFMonitor [19], что позволяло
визуально оценить точность разработанной математической модели.
Данные передавались раз в секунду в виде пакета двух двухбайтных
беззнаковых значений, представленных в виде чисел с плавающей запятой. В
результате этого можно наблюдать выраженную ступенчатость графика
изменения реального расхода воды.
Полученный график в результате апробации системы представлен на
рисунке 23.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
79
Подпись Дата
от взрывов и пожаров»
Рисунок 23 — Графики реального и расчетного значений расхода воды
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
80
Подпись Дата
от взрывов и пожаров»
На горизонтальной оси отображено время, в течение которого
происходит считывание данных, на вертикальной оси – расход воды,
выраженный в кубических сантиметрах. График, изображенный зеленым
цветом, является расчетным значением расхода воды, полученный в
результате моделирования, коричневым цветом – реальный расход воды,
считываемый с датчика потока жидкости.
Как можно видеть из графика, после включения насоса требуется
некоторое время для выхода насоса на рабочий режим. В данном случае он
равен
примерно
двум
секундам,
но
в
реальных
условиях
может
потребоваться значительно больше времени, что связано с преодолением
высоты скважины и общей длины трубопровода. Поэтому в процессе
регулирования
необходимо
учитывать
данные
факторы
и
делать
соответствующую поправку в виде задержки по времени, в течение которой
не будут формироваться управляющие воздействия.
Примерно через десять секунд после включения реальный расход воды
становится равен расчетному значению, что говорит о том, что разработанная
математическая модель является достаточно точной.
Также можно наблюдать, что реальный расход через 14 секунд после
включения насоса начинает превышать расчетный. Это связано с тем, что у
датчика потока жидкости довольно высокая погрешность (см. рисунок 20), в
результате чего происходит завышение реальных показаний.
Также нужно учесть, что в реальной системе будет происходить потеря
напора, связанная с такими факторами, как:
- общая глубина скважины;
- расстояние от скважины до резервуара;
- свойства трубопровода.
Поэтому при управлении насосом нужно учитывать данные факторы и
делать
Изм. Лист
соответствующие
№ докум.
поправки
в
процессе
регулирования.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
81
Подпись Дата
от взрывов и пожаров»
ЗАКЛЮЧЕНИЕ
В данной работе была спроектирована и собрана система управления
погружными насосами с учетом защиты от взрывов и пожаров. В ходе
работы были выполнены следующие задачи:
-
произведен анализ объекта автоматизации;
-
разработана и собрана аппаратная составляющая автоматизированной
системы;
-
реализован программный код системы управления;
-
построена
математическая
модель
объекта
автоматизации
и
интегрирована в программный код;
-
осуществлено тестирование системы и проведен анализ полученных
результатов.
Данная система управления погружным насосом была собрана и
протестирована с имитацией реальных условий работы насоса. Были
проверены все функции управления и защиты насоса. Получены и
проанализированы характеристики точности работы системы. Также был
проведен анализ полученной математической модели и оценена ее точность в
процессе работы системы.
Точность работы системы составляет 96,8%, точность полученной
математической
модели
–
99,7%.
Также
согласно
экономическим
показателям данная система позволит сократить расходы при автоматизации
водоснабжения частных домов примерно в два раза.
На основе данной работы можно выявить предпосылки для следующих
улучшений:
-
реализовать регулирование работы насоса при помощи частотного
преобразователя с учетом математической модели с целью уменьшения
Изм. Лист
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
Подпись Дата
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Лит.
Заключение
Лист
Листов
82
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
износа компонентов;
-
установить дополнительные датчики (например, датчик температуры)
для получения дополнительных данных о состоянии насоса;
-
заменить плату Iskra Neo на более дешевый аналог;
-
реализовать протокол для обмена данными между устройством и
удаленным пультом управления с целью более гибкой настройки системы и
повышения информативности о состоянии насоса;
-
Изм. Лист
организовать базу данных для учета расхода потребляемой воды.
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
83
Подпись Дата
от взрывов и пожаров»
СПИСОК ЛИТЕРАТУРЫ
1.
Зуев К.И. Автоматизация систем водоснабжения и водоотведения /
К.И. Зуев. - Владимир: Изд-во ВлГУ, 2016. – 224 с.
2.
Петров Н.В. Гидравлические прессы: конспект лекций: в 2 ч. / Н.В.
Петров. – Челябинск: Машиностроение, 1978. – 1ч.
3.
Петров Н.В. Динамические процессы в гидравлических прессах при
разделительных операциях: монография / Н.В. Петров. – Орел: ОрелГТУ,
2008. – 114с.: ил.
4.
Волжанова О.А. Схемы электрические принципиальные: учеб.- метод.
пособие / Ижевск: Изд-во «Удмуртский университет», 2012. - 43 с.
5.
Тарасик В.П. Математическое моделирование технических систем /
В.П. Тарасик. – Минск: Дизайн ПРО, 1997. – 623 с.
6.
Дейтел Х. Как программировать на С++ / Х. Дейтел, П. Дейтел. –
Бином-Пресс, 2008. – 1456 с.
7.
Шалыто А.А. Switch-технология. Алгоритмизация и программирование
задач логического управления / А.А. Шалыто. - СПб: Наука,1998 – 628 с.
8.
Шалыто А.А. Switch-технология - автоматный подход к созданию
программного обеспечения "реактивных систем" / А.А. Шалыто, Н.И.
Туккель / Программирование. - 2001. - №5, - с.45-62.
9.
Татарчевский В. Применение SWITCH-технологии при разработке
прикладного программного обеспечения для микроконтроллеров / В.
Татарчевский / Компоненты и технологии. - 2006. - №11. - с.90-93.
10.
Трамперт В. AVR-RISC Микроконтроллеры / В. Трамперт. - МК-Пресс,
2006. – 432 с.
11.
Хартов В.Я. Микроконтроллеры AVR / В.Я. Хартов. - М: МГТУ, 2007.
– 673 с.
Изм. Лист
№ докум.
Разраб.
Ташев А.А.
Провер.
Пилипенко А.В.
Реценз.
Шарупич В.П.
Н. Контр.
Маркин Н.И.
Утверд.
Пилипенко А.В.
Подпись Дата
ВКР.15.04.04.2018 «Разработка интеллектуальной системы
управления погружными насосами с учетом защиты
от взрывов и пожаров»
Лит.
Список литературы
Лист
Листов
84
104
ОГУ им. И.С. Тургенева
каф. «АСУиК»
12.
Ташев А.А. Разработка системы управления погружными насосами с
применением switch-технологии // Дневник науки. 2018. №5 [Электронный
ресурс].
URL:
http://www.dnevniknauki.ru/images/publications/2018/5/technics/Tashev.pdf.
-
Дата обращения: 13.06.2018.
13.
Руководство по эксплуатации. Электронасос БВ 0,12-40. – Ливны: ГМС
Насосы, 2008. – 17 с.
14.
Амперка, Iskra Neo [Электронный ресурс] – Режим доступа – URL:
http://amperka.ru/product/iskra-neo. - Дата обращения: 10.05.2018.
15.
Амперка, Датчик потока воды [Электронный ресурс] – Режим доступа
– URL: http://amperka.ru/product/water-flow-sensor/. - Дата обращения:
10.05.2018.
16.
Ходырев А.И. Компьютерное моделирование работы оборудования с
применением пакета MathCAD: Учебное пособие по дисциплине «Основы
компьютерного моделирования» / А.И. Ходырев – М.: РГУ нефти и газа
(НИУ) имени И.М. Губкина, 2017. – 139 с.
17.
Arduino, Arduino IDE [Электронный ресурс] – Режим доступа – URL:
http://amperka.ru/product/iskra-neo. . - Дата обращения: 20.05.2018.
18.
Microchip, Atmel Studio 7.0 [Электронный ресурс] – Режим доступа –
http://www.microchip.com/mplab/avr-support/atmel-studio-7. - Дата обращения:
20.05.2018.
19.
Robotclass, SFMonitor [Электронный ресурс] – Режим доступа –
http://www.poprobot.ru/soft/sfmonitor. - Дата обращения: 25.06.2018.
20.
ТОПХИТ, Автоматика для насосов [Электронный ресурс] – Режим
доступа – http://topheat.ru/category/pumpela-avtomatika-dlja-nasosov/. - Дата
обращения: 28.06.2018.
Изм. Лист
№ докум.
ВКР.15.04.04.2018 «Разработка интеллектуальной системы Лист
управления погружными насосами с учетом защиты
85
Подпись Дата
от взрывов и пожаров»
Приложение А
Структурная схема автоматизированной системы.
Приложение Б
Принципиальная электрическая схема системы.
Приложение В
Функциональная схема автоматизации.
Приложение Г
Математическая модель работы объекта автоматизации.
Приложение Д
Алгоритм работы в виде блок-схемы.
Приложение Е
Настройка и тестирование системы.
Приложение Ж
Графики
показателей
математической модели.
эффективности
и
результаты
апробации
Приложение З
Перечень элементов, использованных при сборке системы.
Наименование
Количество
Погружной насос PRORAB 8904/10
1
Импульсный блок питания 12В
1
Плата Iskra Neo
1
Трансформатор тока Т10-90А-00-З/0
1
Трансформатор ТПГ-337-2
1
Датчик давления ПД100-ДИ0.1
1
Датчик потока воды YF-S201
1
Поплавковый датчик уровня
1
Релейный модуль SRD-05VDC-SL-C
1
Светодиод красный
1
Защитный диод 1.5KE6.8СA
2
Предохранитель ВП4-14
2
Стабилитрон BZX384
2
Оптопара транзисторная K1010C (KP1010C)
1
Вилка AC-016
1
Розетка AC-022
1
Клеммник TB-1503
1
Гнездо PJ-002-5,5-2,0mm
1
Штекер питания 5,5x2,1x10mm
1
Клеммник винтовой DG350-3,5-02P-14
5
Клеммник винтовой DG350-3,5-03P-14
2
Клеммник винтовой DG300-7.5-02P-12
1
Клеммник винтовой DG300-5.0-02P-12
1
Резистор 4,7 кОм
4
Резистор 1,5 кОм
1
Резистор 1 кОм
2
Резистор 13 кОм
1
Резистор 8,2 кОм
1
Резистор 220 Ом
1
Резистор 10 кОм
1
Приложение И
Сборочный чертеж устройства.
Приложение К
Общая схема автоматизированного комплекса управления погружным
насосом.
Приложение Л
Листинг исходного программного кода. Среда разработки Atmel Studio 7.0.
Язык программирования C++ с использованием API функций Arduino.
#define S 0.5
#define N 100
#define F 8.333
#define K 0.08
#define WEIGHT
(1000/450)
#define NUM_INPERRUPT 1
#define ALARM_ON LOW
#define ALARM_OFF HIGH
typedef enum {
STATE_DELAY_START,
STATE_CONTROL,
STATE_WAIT_WATER,
STATE_ALARM,
} state_t;
float w;
float r;
float Q_max = 0;
float Q_inst = 0;
float Q_mean = 0;
float x = 0;
static state_t state;
static state_t last_state;
enum {ERROR_NONE,ERROR_I,ERROR_U,ERROR_H,ERROR_C} error;
uint8_t receivedByte;
bool fReset;
uint16_t
high_level,
low_level;
SerialFlow rd(&Serial);
volatile uint16_t NbTopsFan;
uint16_t value_C;
bool fDetectWater;
uint16_t
offset_I,
value_U,
offset_U,
value_I,
// действующее значение тока
// смещение нуля по току
// действующее значение напряжения
// смещение нуля по напряжению
value_H;
uint16_t sum_I, sum_U;
uint16_t count_meter;
uint8_t count_1s = 0;
uint16_t
coef_I,
coef_U,
coef_H;
// уровень воды в емкости
// сумма измерений за один период (20мс)
// счетчик измерений
// счетчик 1сек
// юстировочный коэф. по току
// юстировочный коэф. по напряжению
// юстировочный коэф. по уровню
/* Обработчик прерывания датчика потока воды */
void handler_interrupt (void) {
NbTopsFan++;
}
/* Инициализация переменных */
void discret_init (void) {
pinMode(IN_DETECT_WATER,INPUT);
pinMode(IN_COUNT_WATER,INPUT_PULLUP);
NbTopsFan = 0;
attachInterrupt(NUM_INPERRUPT, handler_interrupt, FALLING);
}
/* Обработка дискретных датчиков */
void discret_calc (void) {
static unsigned long cur_time,
prev_time;
cur_time = millis();
if (cur_time >= prev_time + 1000) {
cli();
value_C = NbTopsFan * WEIGHT;
NbTopsFan = 0;
sei();
prev_time = cur_time;
}
fDetectWater = digitalRead(IN_DETECT_WATER) ? 0 : 1;
}
void calc_Q (void) {
w = 2*PI*N;
r = S / 2;
while (x < 2*PI) {
Q_inst = F*w*r*(sin(x)+(K/2)*sin(2*x));
if (Q_inst > Q_max) Q_max = Q_inst;
x += 0.01;
}
Q_mean = 0.318 * Q_max;
}
/* Прототипы функций */
void init_control (void);
void process_control (void);
void init_subfsm (void);
void process_subfsm (void);
void setup() {
analog_init();
discret_init();
init_control();
calc_Q();
rd.setPacketFormat(2, 3, 0);
rd.begin(115200);
}
void loop() {
static unsigned long cur_time,
prev_time = millis();
analog_calc();
discret_calc();
process_control();
if (Serial.available() > 0) {
receivedByte = Serial.read();
switch (receivedByte) { // проверяем команду
// передача значения по току
case 'i':
case 'I':
Serial.println((float)value_I/100,2);
break;
// передача значения по напряжению
case 'u':
case 'U':
Serial.println(value_U,DEC);
break;
// передача значения по уровню
case 'H':
case 'h':
Serial.println((float)value_H/100,2);
break;
// передача значений смещений по току и напряжению
case 'o':
case 'O':
Serial.print(offset_I,DEC);
Serial.print(' ');
Serial.println(offset_U,DEC);
break;
// передача значения скорости потока воды
case 'c':
case 'C':
Serial.println(value_C,DEC);
//Serial.println((float)value_C/100,2);
break;
// принудительное включение насоса
case 'N':
case 'n':
digitalWrite(OUT_RELAY,HIGH);
Serial.println("Nasos vcliuchen!");
break;
// принудительное выключение насоса
case 'F':
case 'f':
digitalWrite(OUT_RELAY,LOW);
Serial.println("Nasos vicliuchen!");
break;
// передача состояния
case 'S':
case 's':
switch (state) {
case STATE_CONTROL:
if (digitalRead(OUT_RELAY)) Serial.println("Nasos
vcliuchen");
else Serial.println("Nasos vicliuchen");
break;
case STATE_WAIT_WATER:
Serial.println("Ozhidanie zapolneniia skvazhiny`");
break;
case STATE_ALARM:
Serial.print("Avariia ");
switch (error) {
case ERROR_I:
Serial.println("po toku");
break;
case ERROR_U:
Serial.println("po napriazheniiu");
break;
case ERROR_H:
Serial.println("po datchiku 4-20");
break;
case ERROR_C:
Serial.println("po rashodu vody`");
break;
}
break;
default:
break;
}
break;
// сброс, возвращение к рабочему режиму
case 'R':
case 'r':
Serial.println("Sbros ustroi`stva!");
fReset = true;
break;
default:
break;
}
}
cur_time = millis();
if (cur_time >= prev_time + 30) {
rd.setPacketValue( value_C );
rd.setPacketValue( Q_mean );
rd.sendPacket();
prev_time = cur_time;
}
}
/* Инициализация переменных и конфигурация выходов*/
void init_control (void) {
state = STATE_DELAY_START;
last_state = STATE_ALARM;
fReset = 0;
pinMode(OUT_RELAY,OUTPUT);
pinMode(OUT_ALARM,OUTPUT);
digitalWrite(OUT_ALARM,ALARM_OFF);
low_level = LOW_LEVEL;
high_level = HIGH_LEVEL;
}
void process_control (void) {
static unsigned long cur_time,
prev_time;
static uint16_t count_delay;
static bool fEntry;
if (last_state != state) fEntry = true;
else fEntry = false;
last_state = state;
switch (state)
{
case STATE_DELAY_START:
// задержка на время инициализации датчиков
if (fEntry) {
prev_time = millis();
}
cur_time = millis();
if (cur_time >= prev_time + 1000) {
state = STATE_CONTROL;
}
break;
case STATE_CONTROL:
if (fEntry) {
error = ERROR_NONE;
digitalWrite(OUT_ALARM,ALARM_OFF);
init_subfsm();
}
/* Управление по датчику 4-20мА */
if (value_H > high_level) digitalWrite(OUT_RELAY,LOW);
else
if (value_H < low_level) digitalWrite(OUT_RELAY,HIGH);
/* контроль расхода воды */
process_subfsm();
/* обнаружение "сухого хода" */
if (!fDetectWater) {
state = STATE_WAIT_WATER;
}
break;
case STATE_WAIT_WATER:
if (fEntry) {
digitalWrite(OUT_RELAY,LOW);
count_delay = 0;
prev_time = millis();
Serial.println("Net vody` v skvazhine!");
}
// ждем пока наполнится скважина
cur_time = millis();
if (cur_time >= prev_time + 500) {
digitalWrite(OUT_ALARM,digitalRead(OUT_ALARM)^1);
count_delay++;
prev_time = cur_time;
}
if (count_delay == 7200) {
state = STATE_CONTROL;
}
break;
case STATE_ALARM:
// состояние аварии
if (fEntry) {
digitalWrite(OUT_RELAY,LOW);
digitalWrite(OUT_ALARM,ALARM_ON);
switch (error) {
case ERROR_I:
Serial.println("Avariia po toku!");
break;
case ERROR_U:
Serial.println("Avariia po napriazheniiu!");
break;
case ERROR_H:
Serial.println("Avariia po datchiku 4-20!");
break;
case ERROR_C:
Serial.println("Avariia po rashodu vody`!");
break;
}
}
break;
}
/* Проверка аварий */
if (state == STATE_CONTROL || state == STATE_WAIT_WATER)
{
if (value_I > I_MAX) error = ERROR_I;
if (value_U > U_MAX) error = ERROR_U;
if (analogRead(ANALOG_VALUE_H)*COEF_H < MKA_MIN)
error = ERROR_H;
if (error) {
state = STATE_ALARM;
}
}
/* Проверка команды на сброс */
if (fReset) {
state = STATE_CONTROL;
fReset = false;
}
}
typedef enum {
SUBSTATE_WAIT_PUMP,
SUBSTATE_DELAY,
SUBSTATE_CHECK
} substate_t;
static substate_t substate;
static substate_t last_substate;
void init_subfsm (void) {
substate = SUBSTATE_WAIT_PUMP;
last_substate = SUBSTATE_CHECK;
}
void process_subfsm (void) {
static unsigned long cur_time,
prev_time;
static bool fEntry;
if (last_substate != substate) fEntry = true;
else fEntry = false;
last_substate = substate;
switch(substate) {
case SUBSTATE_WAIT_PUMP:
if (digitalRead(OUT_RELAY)){
substate = SUBSTATE_DELAY;
}
break;
case SUBSTATE_DELAY:
if (fEntry) {
prev_time = millis();
}
cur_time = millis();
if (cur_time >= prev_time + 10000) {
substate = SUBSTATE_CHECK;
}
break;
case SUBSTATE_CHECK:
if (value_C < Q_mean * 0.9) {
error = ERROR_C;
}
break;
if (!digitalRead(OUT_RELAY)) {
substate = SUBSTATE_WAIT_PUMP;
}
}
}
void analog_calc (void) {
static unsigned long cur_time,
prev_time;
uint16_t temp;
/* Выборка значений по току и напряжению за 1 период */
temp = analogRead(ANALOG_VALUE_I);
temp = (temp >= offset_I) ? (temp - offset_I) : (offset_I - temp);
sum_I += (temp > 5) ? temp : 0;
temp = analogRead(ANALOG_VALUE_U);
temp = (temp >= offset_U) ? (temp - offset_U) : (offset_U - temp);
sum_U += (temp > 5) ? temp : 0;
count_meter++;
/* Расчет действующих значений по току и напряжению */
cur_time = millis();
if (cur_time >= prev_time + 20) { // 20 мс
value_I = sum_I / count_meter;
value_I = convert_unit(value_I,UNIT_I);
value_U = sum_U / count_meter;
value_U = convert_unit(value_U,UNIT_U);
sum_I = sum_U = count_meter = 0;
count_1s++;
prev_time = cur_time;
}
if (count_1s == 50) {
value_H = analogRead(ANALOG_VALUE_H);
value_H = convert_unit(value_H,UNIT_H);
offset_I = analogRead(ANALOG_OFFSET_I);
offset_U = analogRead(ANALOG_OFFSET_U);
count_1s = 0;
}
}
/* Перевод в требуемые единицы измерения */
uint16_t convert_unit (uint16_t value,enum unit_t unit) {
switch (unit) {
case UNIT_I:
value = value * 100 / coef_I; // (А)*10^2
break;
case UNIT_U:
value = value * 100 / coef_U; // (В)
break;
case UNIT_H:
value = value * COEF_H;
value = (value > 4000) ? (value - 4000) : 0;
value = (uint32_t)value / 10 * DAT_4_20 * 102 / 1600; // (см)
break;
}
return value;
}
1/--страниц
Пожаловаться на содержимое документа