Меню

Клапан регулятор расхода газа

Регулятор расхода газа в 5 раз дешевле коммерческих решений

image

Регуляторы расхода газа (РРГ) предназначены для поддержания заданного пользователем значения расхода. РРГ используются в промышленности и научно-исследовательских лабораториях для организации подачи газа из баллонов и магистралей. На рынке представлены устройства компаний Элточприбор, MKS, Bronkhorst и др. Стоимость таких приборов составляет 1000-2500 USD. Целью настоящей работы является создание регулятора расхода газа из более доступных компонентов. Идея состоит в организации системы с обратной связью, включающей в себя пропорциональный клапан и измеритель расхода. Ниже приведено краткое описание аппаратной и программной части системы, позволяющее воспроизвести ее всем, кто использует РРГ в своей деятельности. Все исходные коды доступны на GitHub.

Использовались изделия компании SMC, клапаны серии PVQ и измерители расхода серии PFM5 без индикации. Было собрано два РРГ с диапазонами регулируемых расходов 0.2-5 л/мин (PVQ13 + PFM510) и 1-50 л/мин (PVQ31 + PFM550), показанные на рисунке. Стоимость одного регулятора расхода можно оценить сверху как 100 USD (клапан PVQ31) + 80 USD (измеритель PFM5) + 20 USD (микроконтроллер Arduino Nano, блок питания и радиодетали) = 200 USD. Все описанное ниже относится к РРГ 1-50 л/мин. Создание регулятора 0.2-5 л/мин, а также любых других регуляторов из аналогичных компонентов следует той же схеме, но может отличаться незначительными деталями.

Аппаратная часть

image

Аппаратная часть показана на рисунке и состоит из:

  1. Пропорционального клапана PVQ31
  2. Измерителя расхода PFM550
  3. Фильтра
  4. Блока питания (24V, 1A)
  5. Схемы управления силой тока
  6. Микроконтроллера Arduino Nano и схемы его питания

image

Электрическая схема подключения компонентов показана на рисунке. Для питания схемы используется источник постоянного тока на 24 В, 1 А, которого более чем достаточно, учитывая потребление клапана менее 200 мА и измерителя менее 35 мА. Пропорциональные клапаны серии PVQ управляются силой тока. В соответствии с документацией не рекомендуется управлять ими путем контроля напряжения. Управление силой тока может быть реализовано с помощью схемы обсуждавшейся здесь, здесь и более подробно здесь. Схема управления силой тока выделена на общей электрической схеме (Рис.3) пунктирным прямоугольником. Клапаны серии PVQ подключаются двумя проводами питания: красный — DC+, черный — DC-.

Сила тока регулируется с помощью ШИМ сигнала, выдаваемого аналоговым пином микроконтроллера. По умолчанию контроллеры на базе ATmega328 (Arduino UNO/Nano/Pro Mini) генерируют 8 битный (значения 0-255) ШИМ сигнал на частоте 488 или 976 Гц, в зависимости от пина. Малая разрядность ШИМ сигнала снижает точность регулировки клапана. Низкая частота приводит к его гудению. Эти величины могут быть увеличены программно до 10 бит (0-1023) и 15.6 кГц, соответственно. Мы использовали частоту 7.8 кГц. Описание команд, которые необходимо вставить в функцию setup() прошивки Arduino приведено здесь и здесь.

Читайте также:  Что такое регулятор тнвд

Измерители расхода серии PFM5 имеют 2 сигнальных провода (черный — аналоговый выход, белый — установка времени отклика (не используем)) и два провода питания (коричневый — DC+, синий — DC-). Питание от источника постоянного тока 24 В. Измеритель расхода выдает аналоговый сигнал в диапазоне 1-5 В. Значение 1 В соответствует нулевому расходу газа, 5 В — максимальному для данного измерителя. Согласно документации зависимость между расходом и напряжением линейная. Между тем представляется нелишним проведение регулярной тарировки расходомера. Аналоговый сигнал с измерителя расхода (черный провод) принимается 10 битным (0-1023) аналоговым пином Arduino для обработки и отображения. Белый провод предназначен для установки времени отклика, мы его не используем. В этом случае время отклика 50 мс.

Питание платы Arduino следует осуществлять через пин 5V, напряжение питания не должно превышать 5.5 В. Такое питание может быть организовано от БП клапана и расходомера через стабилизатор L7805, как показано на схеме (Рис.3). Скорее всего будет нужен радиатор на стабилизатор. Питание от USB порта компьютера, использованное во время тестирования (Рис.2) не желательно так как в этом случае опорное напряжение при использовании АЦП нестабильно. Более подробно про питание платы см. здесь.

Программная часть
Программная часть состоит из прошивки микроконтроллера Arduino Nano и графического интерфейса пользователя, запускаемого на ПК.

Программа, загружаемая на микроконтроллер, циклически выполняет следующие действия:

  1. Опрашивает последовательный порт и считывает с него данные, вводимые пользователем
  2. Выводит данные, полученные с измерителя расхода в последовательный порт
  3. В зависимости от данных, полученных от пользователя и измерителя расхода определяет величину открытия пропорционального клапана и формирует необходимый ШИМ-сигнал

Система может работать в ручном и автоматическом режиме. При ручном режиме работы в последовательный порт должна быть отправлена величина желаемого открытия клапана, выражаемая переменной valve (0 valve analogWrite(valvepin, valve) . После открытия, клапан остается в заданном положении до получения новой команды через последовательный порт.

Для перехода в автоматический режим работы в последовательный порт необходимо отправить отрицательное число -targetflow . Значение переменной targetflow лежит в интервале 0-1023 и определяет расход газа, который следует поддерживать. Реальный расход газа, определяется показаниями расходомера, которые считываются с аналогового входа микроконтроллера командой realflow = analogRead(fmpin) (0 realflow targetflow и realflow управляя пропорциональным клапаном. Величина открытия клапана рассчитывается с помощью пропорционального-интегрально-дифференцирующего (ПИД) регулятора. Про ПИД-регулятор можно почитать здесь, здесь и здесь. Для реализация регулятора используется библиотека GyverPID с некоторыми изменениями и дополнениями. Так как библиотека была модифицирована, используйте библиотеку прилагаемую к настоящему коду, а не скачанную по ссылке выше.

Для использования ПИД-регулятора необходимо подобрать коэффициенты пропорциональной Kp , интегральной Ki и дифференциальной Kd составляющих, а также время итерации dtpid . Значение переменной dtpid надо подбирать в зависимости от инертности системы. Чем более инертна система тем больше должно быть dtpid . Исходя из оценок и результатов тестирования для рассматриваемого устройства мы выбрали значения dtpid = 100-330 мс. Коэффициенты Kp , Ki , Kd подбираются при фиксированном значении dtpid и существенно зависят от системы. Рекомендации по подбору коэффициентов можно найти здесь, здесь и здесь.

Читайте также:  Регулятор сигнализатор уровня скб

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

Графический интерфейс пользователя написан на языке Python с использованием графического фреймворка PyQt. Дизайн создан в программе Qt Designer, после чего код .ui-файла конвертировался в Python-файл. Введение в разработку графического интерфейса и использование PyQt см. здесь и здесь.

Графический интерфейс взаимодействует с прошивкой Arduino через последовательный порт с помощью библиотеки pyserial . Python-программа выполняет следующие действия:

  1. Устанавливает соединение с последовательным портом микроконтроллера
  2. Через графический интерфейс получает от пользователя данные о требуемом режиме работы, значении желаемого расхода газа или величины открытия клапана, в различных единицах измерения
  3. Приводит полученные данные к диапазону 0-1023, принимаемому прошивкой микроконтроллера, по формулам пересчета
  4. Передает данные п.3 микроконтроллеру через последовательный порт
  5. Считывает из последовательного порта данные, полученные от измерителя расхода (значения 0-1023)
  6. Переводит данные п.5 в требуемые единицы измерения и отображает в числовом и графическом виде

Код, обеспечивающий установку соединения с последовательным портом, заимствован отсюда.

Для перевода из пользовательских единиц измерения в диапазон 0-1023 и обратно предназначен модуль units.py . Этот модуль позволяет легко добавлять новые единицы измерения. От пользователя требуется указать название единиц и формулу пересчета из 0-1023 в новые единицы измерения. Модуль снабжен подробными комментариями.

Данные полученные от измерителя расхода и выведенные прошивкой микроконтроллера в последовательный порт считываются с порта Python-программой и после перевода единиц измерения отображаются в текстовом и графическом виде. Для отрисовки графика текущего расхода используется библиотека pyqtgraph .

Результаты

Для начала работы с РРГ необходимо: прошить микроконтроллер, подключить питание, запустить Python-программу, установить соединение с последовательным портом. После этого пользователь может выбирать ражим работы (ручной или автоматический) и задавать требуемую величину открытия клапана в ручном режиме работы или поддерживаемое значение расхода в автоматическом. Текущий расход газа выводится в соответствующем поле и отображается на графике. График обновляется циклически, после достижения заданного количества точек график очищается и отрисовка начинается сначала. Пользователь может выбрать используемые единицы измерения.

image
На рисунке показан внешний вид графического интерфейса пользователя и график изменения расхода газа, полученный в автоматическом режиме и демонстрирующий переключение РРГ между разными значениями поддерживаемого расхода. Результаты приведены в единицах 0-1023.

Для демонстрации возможностей поддержания постоянного расхода газа был рассмотрен случай, когда расход при открытии пропорционального клапана на постоянную величину «плывет», как показано в левой части графика (x 1000). Тесты показали, что отклонение от заданного расхода в режиме автоматического удержания составляет не более 2%.

Читайте также:  Реле регулятор 3 положения

image

Замечания

Использование микроконтроллера Arduino Nano излишне так как задействована лишь малая часть его пинов. С другой стороны было бы лучше использовать микроконтроллеры с большей разрядностью аналоговых входов/выходов для повышения точности измерения и регулировки. При смене типа микроконтроллера может потребоваться своя реализация ПИД-регулятора, это не должно вызвать затруднений так как алгоритм простой.

На этапе разработки электрическая схема была собрана на макетной плате (см. Рис.2). Для дальнейшего использования необходимо спаять схему и поместить в корпус.

Авторы статьи не являются ни электронщиками, ни программистами, поэтому конструктивные советы по улучшению приветствуются.

Дополнительные материалы

Исходные коды прошивки Arduino и Python-программы, а также документацию на используемые измерители расхода и пропорциональные клапаны выложены на GitHub

Благодарности

Мы благодарны нашим коллегам за идею системы, реализованной в этой работе. AlexGyver и другим пользователям, щедро делящимся своим опытом, за информацию которую мы использовали в работе.

Источник



Регуляторы расхода газа

Компания «УралКриоГаз» предлагает регуляторы расхода газа на баллоны.

Регуляторы расхода газа используются для снижения до заданного уровня давления газа и автоматического поддержания установленного расхода на неизменном уровне. Используются при питании оборудования, применяемого при выполнении работ, требующих контроля расхода газообразных веществ.

Назначение и особенности регуляторов

Регуляторы расхода газов применяются при выполнении следующих операций:

  • газовая сварка;
  • газовая пайка;
  • газокислородная резка;
  • прогрев;
  • пламенное напыление;
  • подача защитного газа.

Регулятор расхода для газового баллона по конструкции схож с баллонными редукторами (регуляторами давления газа). В основе принципа работы регулятора лежит зависимость скорости течения газа и, следовательно, его расход от разницы давлений на входе и на выходе из него. Расход газа регистрируется с помощью прибора манометрического типа или ротаметром.

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

Регуляторы расхода газа изготавливаются согласно требованиям ТУ 3645-003-54288960-2009, ГОСТ 13861-89 и ГОСТ 12.2.008-75.

Регуляторы относятся к продукции повышенной опасности, при эксплуатации которой обязательно соблюдать специальные правила безопасности.

В нашем каталоге представлены регуляторы расхода для азота, аргона, воздуха, гелия. Цена изделия определяется его маркой, параметрами, комплектацией.

Источник