регулятор расхода для жидкостей
лопастный регулятор расхода
поршневый регулятор расхода
термический регулятор расхода
LN 500 / LG 500 series
LNZ 450 series
LDN 500 series
регулятор расхода для газа
Показать другие изделияRiels Instruments
Показать другие изделияVAL.CO srl
оптический регулятор расхода
регулятор расхода для воздуха
регулятор расхода для воды
Показать другие изделияDWYER
регулятор расхода с термической дисперсией
Показать другие изделияFCI Fluid Components International
Показать другие изделияSitron
механический регулятор расхода
Показать другие изделияBell & Gossett Domestic Pump
Показать другие изделияThomas Products LTD
герконовый регулятор расхода
Показать другие изделияGTE Elettromeccanica Srl
Показать другие изделияZHEJIANG LEFOO CONTROLS CO., LTD
Показать другие изделияSierra Instruments
RHEASREG® WFS series
термально-массовый регулятор расхода
EL-FLOW® Base series
Расход: 0 l/min — 200 l/minДавление: 10 bar
Расход: 1 l/min — 20 l/minДавление: 0 bar — 17 bar
электронный регулятор расхода
Расход: 0 l/min — 6 l/minДавление: 60 psiНоминальный диаметр: 0,2 mm — 1,8 mm
Steel line Series
Давление: 12 Pa
Давление: 12 bar
пропорциональный регулятор расхода
Расход: 0 l/min — 90 l/minДавление: 0 bar — 10 barНоминальный диаметр: 0,13 in
Расход: 0 l/min — 2 l/minДавление: 0 bar — 10 barНоминальный диаметр: 0,3 in
Показать другие изделияMass Flow ONLINE BV
Расход: 0 l/min — 20 l/minДавление: 0 bar — 10 barНоминальный диаметр: 0,3 in
Расход: 0 l/min — 200 l/minДавление: 0 bar — 10 barНоминальный диаметр: 0,3 in
объемный регулятор расхода
Давление: 500 mbarНоминальный диаметр: 10 mm — 25 mm
MFC 2100 series
Расход: 0 l/min — 10 l/min
Показать другие изделияAxetris AG
Расход: 0 l/min — 50 l/minДавление: 1 bar — 3 bar
Показать другие изделияAzbil Europe NV
Расход: 0 l/min — 60 l/minДавление: 20 000 Pa — 300 000 Pa
Расход: 0 l/min — 20 l/minДавление: 0 Pa — 500 000 Pa
Расход: 230 l/min — 1 115 l/minДавление: 0 bar
Расход: 0 l/min — 2 500 l/minДавление: 310, 70, 103 bar
Показать другие изделияBrooks Instrument
Расход: 0 l/min — 300 l/minДавление: 7 psi — 90 psi
регулятор расхода с переменным давлением
Давление: 0 psi — 150 psi
Расход: 0 l/min — 1 000 l/minДавление: 1 psi — 145 psiНоминальный диаметр: 0,1 in — 0,8 in
Показать другие изделияAalborg Instruments
Расход: 0 l/min — 1 000 l/minДавление: 5 psi — 1 000 psiНоминальный диаметр: 0,1 in — 0,8 in
Расход: 0 l/min — 100 l/minДавление: 1 015 psi
Давление: 500 psi
Расход: 0 l/min — 3 000 l/minДавление: 500 psi
Расход: 0 l/min — 2 500 l/minДавление: 500 psi
Давление: 0 mbar — 500 mbarНоминальный диаметр: 1 in — 1 in
Давление: 0 mbar — 1 000 mbarНоминальный диаметр: 1 in — 2 in
Давление: 0 Pa — 6 000 Pa
Показать другие изделияArthur Grillo GmbH
регулятор расхода Modbus
Расход: 50 l/minДавление: 0 psi — 500 psi
Расход: 200 l/minДавление: 0 psi — 500 psiНоминальный диаметр: 1 in
Расход: 50 l/minДавление: 500 psiНоминальный диаметр: 0,3 in
регулятор расхода с закрытым контуром
CFR – P377
Расход: 0 l/min — 10 l/minДавление: 0 bar — 12 bar
Расход: 650 l/minДавление: 1 bar — 10 barНоминальный диаметр: 0 mm — 5 mm
Расход: 1 l/min — 200 l/minДавление: 16 bar
Расход: 1 l/min — 1 650 l/minДавление: 16, 70 bar
Расход: 1 500 l/min — 7 000 l/minДавление: 16 bar
Thermo-Flo™ LC30 series
red-y smart controller GSC
Расход: 450, 60 l/minДавление: 0 bar — 11 barНоминальный диаметр: 0,25, 0,5 in
Давление: 3, 4 bar
Показать другие изделияHORIBA STEC
Давление: 50 psi
Показать другие изделияParker Precision fluidics Division
Расход: 20 l/min — 1 500 l/minДавление: 0 bar — 10 barНоминальный диаметр: 0,3 in — 1 in
Расход: 0 l/min — 3 500 l/minДавление: 6, 16 barНоминальный диаметр: 1, 0,25, 0,75 in
Расход: 0 l/h — 3 000 l/hДавление: 150 psi
Показать другие изделияMKS Instruments
Время на прочтение
Регуляторы расхода газа (РРГ) предназначены для поддержания заданного пользователем значения расхода. РРГ используются в промышленности и научно-исследовательских лабораториях для организации подачи газа из баллонов и магистралей. На рынке представлены устройства компаний Элточприбор, 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 л/мин, а также любых других регуляторов из аналогичных компонентов следует той же схеме, но может отличаться незначительными деталями.
Аппаратная часть
Аппаратная часть показана на рисунке и состоит из:
Электрическая схема подключения компонентов показана на рисунке. Для питания схемы используется источник постоянного тока на 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 и графического интерфейса пользователя, запускаемого на ПК.
Программа, загружаемая на микроконтроллер, циклически выполняет следующие действия:
Система может работать в ручном и автоматическом режиме. При ручном режиме работы в последовательный порт должна быть отправлена величина желаемого открытия клапана, выражаемая переменной valve (0<=valve<1023). Значение этой переменной определяет заполненность ШИМ-сигнала, который отправляется через аналоговый выход микроконтроллера на схему контроля силы тока и пропорциональный клапан командой analogWrite(valvepin, valve). После открытия, клапан остается в заданном положении до получения новой команды через последовательный порт.
Для перехода в автоматический режим работы в последовательный порт необходимо отправить отрицательное число -targetflow. Значение переменной targetflow лежит в интервале 0-1023 и определяет расход газа, который следует поддерживать. Реальный расход газа, определяется показаниями расходомера, которые считываются с аналогового входа микроконтроллера командой realflow = analogRead(fmpin) (0<=realflow<1023). В автоматическом режиме система стремиться поддерживать равенство между 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-программа выполняет следующие действия:
Код, обеспечивающий установку соединения с последовательным портом, заимствован отсюда.
Для перевода из пользовательских единиц измерения в диапазон 0-1023 и обратно предназначен модуль units.py. Этот модуль позволяет легко добавлять новые единицы измерения. От пользователя требуется указать название единиц и формулу пересчета из 0-1023 в новые единицы измерения. Модуль снабжен подробными комментариями.
Данные полученные от измерителя расхода и выведенные прошивкой микроконтроллера в последовательный порт считываются с порта Python-программой и после перевода единиц измерения отображаются в текстовом и графическом виде. Для отрисовки графика текущего расхода используется библиотека pyqtgraph.
Результаты
Для начала работы с РРГ необходимо: прошить микроконтроллер, подключить питание, запустить Python-программу, установить соединение с последовательным портом. После этого пользователь может выбирать ражим работы (ручной или автоматический) и задавать требуемую величину открытия клапана в ручном режиме работы или поддерживаемое значение расхода в автоматическом. Текущий расход газа выводится в соответствующем поле и отображается на графике. График обновляется циклически, после достижения заданного количества точек график очищается и отрисовка начинается сначала. Пользователь может выбрать используемые единицы измерения.
На рисунке показан внешний вид графического интерфейса пользователя и график изменения расхода газа, полученный в автоматическом режиме и демонстрирующий переключение РРГ между разными значениями поддерживаемого расхода. Результаты приведены в единицах 0-1023.
Замечания
Использование микроконтроллера Arduino Nano излишне так как задействована лишь малая часть его пинов. С другой стороны было бы лучше использовать микроконтроллеры с большей разрядностью аналоговых входов/выходов для повышения точности измерения и регулировки. При смене типа микроконтроллера может потребоваться своя реализация ПИД-регулятора, это не должно вызвать затруднений так как алгоритм простой.
На этапе разработки электрическая схема была собрана на макетной плате (см. Рис.2). Для дальнейшего использования необходимо спаять схему и поместить в корпус.
Авторы статьи не являются ни электронщиками, ни программистами, поэтому конструктивные советы по улучшению приветствуются.
Дополнительные материалы
Исходные коды прошивки Arduino и Python-программы, а также документацию на используемые измерители расхода и пропорциональные клапаны выложены на GitHub
Благодарности
Мы благодарны нашим коллегам за идею системы, реализованной в этой работе. AlexGyver и другим пользователям, щедро делящимся своим опытом, за информацию которую мы использовали в работе.
Выводы
Использование системы с обратной связью, состоящей из пропорционального клапана, измерителя расхода и микроконтроллера, позволяет сделать РРГ для поддержания заданного расхода газа. Тесты продемонстрировали отклонение расхода от требуемого в пределах менее 2%. Стоимость системы составила менее 200 USD. Собранный прототип показал работоспособность в широком диапазоне условий. Дальнейшее использование может требовать доводки, включающей распайку схем, изготовление корпуса и т.п.