Оглавление:
- Шаг 1: Общее описание системы
- Шаг 2: Внедрение GreenPAK Designer
- Шаг 3: Первый этап: переключение подсчета / отображения
- Шаг 4: Второй этап: подсчет входных импульсов
- Шаг 5: Третий этап: отображение измеренного значения
- Шаг 6: Аппаратная реализация
- Шаг 7: Результаты
Видео: Как создать расходомер воды: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Точный, небольшой и недорогой расходомер жидкости может быть легко изготовлен с использованием компонентов GreenPAK ™. В этом руководстве мы представляем расходомер воды, который непрерывно измеряет расход воды и отображает его на трех 7-сегментных дисплеях. Диапазон измерения датчика расхода от 1 до 30 литров в минуту. Выходной сигнал датчика представляет собой цифровой ШИМ-сигнал с частотой, пропорциональной расходу воды.
Три программируемые ИС Matrix SLG46533 со смешанными сигналами GreenPAK подсчитывают количество импульсов в пределах базового времени T. Это базовое время рассчитывается таким образом, чтобы количество импульсов было равно скорости потока в этот период, затем это вычисленное число отображается на 7 -отображается сегмент. Разрешение 0,1 л / мин.
Выход датчика соединен с цифровым входом с триггером Шмитта первой матрицы смешанных сигналов, которая считает дробное число. Чипы соединяются каскадом через цифровой выход, который соединен с цифровым входом обрабатываемой матрицы смешанных сигналов. Каждое устройство подключено к 7-сегментному дисплею с общим катодом через 7 выходов.
Использование программируемой матрицы смешанных сигналов GreenPAK предпочтительнее многих других решений, таких как микроконтроллеры и дискретные компоненты. По сравнению с микроконтроллером GreenPAK дешевле, меньше по размеру и проще в программировании. По сравнению с интегральными схемами с дискретной логикой, он также дешевле, проще в сборке и меньше по размеру.
Чтобы это решение было коммерчески жизнеспособным, система должна быть как можно меньше по размеру и быть заключена внутри водонепроницаемого жесткого корпуса, чтобы быть устойчивой к воде, пыли, пару и другим факторам, чтобы она могла работать в различных условиях.
Для проверки конструкции была построена простая печатная плата. Устройства GreenPAK подключаются к этой печатной плате с помощью двухрядных 20-контактных разъемов типа «мама».
Первый раз тесты проводятся с использованием импульсов, генерируемых Arduino, а во второй раз измеряется расход воды из домашнего источника воды. Система показала точность 99%.
Откройте для себя все необходимые шаги и поймите, как чип GreenPAK был запрограммирован для управления расходомером воды. Однако, если вы просто хотите получить результат программирования, загрузите программное обеспечение GreenPAK, чтобы просмотреть уже заполненный файл дизайна GreenPAK. Подключите GreenPAK Development Kit к компьютеру и нажмите программу, чтобы создать индивидуальную ИС для управления вашим расходомером воды. Выполните шаги, описанные ниже, если вы хотите понять, как работает схема.
Шаг 1: Общее описание системы
Один из наиболее распространенных способов измерения расхода жидкости аналогичен принципу измерения скорости ветра анемометром: скорость ветра пропорциональна скорости вращения анемометра. Основная часть расходомера этого типа представляет собой своего рода вертушку, скорость которой пропорциональна расходу жидкости, проходящей через нее.
Мы использовали датчик расхода воды YF-S201 от фирмы URUK, показанный на рисунке 1. В этом датчике датчик Холла, установленный на вертушке, выдает импульс с каждым оборотом. Частота выходного сигнала представлена в Формуле 1, где Q - расход воды в литрах / мин.
Например, если измеренный расход составляет 1 литр / минуту, частота выходного сигнала составляет 7,5 Гц. Чтобы отобразить реальное значение расхода в формате 1,0 литр / минуту, мы должны считать импульсы за время 1,333 секунды. В примере 1,0 л / мин подсчитанным результатом будет 10, что будет отображаться как 01,0 на семисегментных дисплеях. В этом приложении решаются две задачи: первая - это подсчет импульсов, а вторая - отображение числа, когда задача подсчета завершена. Каждое задание длится 1,333 секунды.
Шаг 2: Внедрение GreenPAK Designer
SLG46533 имеет множество макроячеек с универсальными комбинированными функциями, и они могут быть сконфигурированы как справочные таблицы, счетчики или D-триггеры. Эта модульность делает GreenPAK подходящим для применения.
Программа состоит из 3 этапов: этап (1) генерирует периодический цифровой сигнал для переключения между двумя задачами системы, этап (2) подсчитывает импульсы датчика расхода, а этап (3) отображает дробное число.
Шаг 3: Первый этап: переключение подсчета / отображения
Требуется цифровой выход «COUNT / DISP-OUT», который меняет состояние между высоким и низким каждые 1,333 секунды. При высоком уровне система считает импульсы, а при низком уровне отображает подсчитанный результат. Это может быть достигнуто с помощью DFF0, CNT1 и OSC0, подключенных, как показано на рисунке 2.
Частота OSC0 - 25 кГц. CNT1 / DLY1 / FSM1 сконфигурирован как счетчик, и его тактовый вход подключен к CLK / 4, так что входная тактовая частота CNT1 составляет 6,25 кГц. В течение первого периода тактовой частоты, который длится, как показано в уравнении 1, выход CNT1 высокий, а от нарастающего фронта следующего тактового сигнала выход счетчика низкий, и CNT1 начинает уменьшаться с 8332. Когда данные CNT1 достигают 0, новый импульс на выходе CNT1 сгенерировано. При каждом нарастающем фронте выхода CNT1 выход DFF0 меняет состояние, при низком уровне он переключается на высокое и наоборот.
Полярность выхода DFF0 должна быть настроена как инвертированная. CNT1 установлен на 8332, потому что время счета / отображения T равно, как показано в уравнении 2.
Шаг 4: Второй этап: подсчет входных импульсов
4-битный счетчик создается с использованием DFF3 / 4/5/6, как показано на рисунке 4. Этот счетчик увеличивается на каждый импульс только тогда, когда «COUNT / DISP-IN», то есть PIN 9, имеет высокий уровень. Входы логического элемента И 2-L2 - это «COUNT / DISP-IN» и вход PWM. Счетчик сбрасывается, когда он достигает 10 или когда начинается фаза счета. 4-битный счетчик сбрасывается, когда на выводах RESET DFFs, подключенных к той же сети «RESET», низкий уровень.
4-битный LUT2 используется для сброса счетчика, когда он достигает 10. Поскольку выходы DFF инвертируются, числа определяются путем инвертирования всех битов их двоичных представлений: меняя местами 0 на 1 и наоборот. Это представление называется дополнением двоичного числа до единицы. 4-битные входы LUT2 IN0, IN1, IN2 и IN3 подключены к a0, a1, a2, a3 и a3 соответственно. Таблица истинности для 4-LUT2 показана в таблице 1.
Когда зарегистрировано 10 импульсов, выход 4-LUT0 переключается с высокого на низкий. В этот момент выход CNT6 / DLY6, настроенный для работы в режиме однократного импульса, переключается на низкий уровень на период 90 нс, а затем снова включается. Аналогично, когда «COUNT / DISP-IN» переключается с низкого на высокий, то есть. система начинает подсчет импульсов. Выход CNT5 / DLY5, настроенный для работы в режиме однократного импульса, переключается на слишком низкий уровень на период 90 нс, а затем снова включается. Очень важно удерживать кнопку RESET на низком уровне в течение некоторого времени и снова включить ее, используя CNT5 и CNT6, чтобы дать время для всех DFF для сброса. Задержка в 90 нс не влияет на точность системы, поскольку максимальная частота сигнала ШИМ составляет 225 Гц. Выходы CNT5 и CNT6 подключены к входам логического элемента И, который выводит сигнал RESET.
Выход 4-LUT2 также подключен к контакту 4, обозначенному «F / 10-OUT», который будет подключен к входу PWM счетного каскада следующего чипа. Например, если «PWM-IN» устройства дробного счета подключен к выходу PWM датчика, а его «F / 10-OUT» подключен к «PWM-IN» устройства счета единиц и F / 10-OUT последнего подключается к «PWM-IN» счетчика десятков и так далее. «COUNT / DISP-IN» всех этих этапов должен быть подключен к одному и тому же «COUNT / DISP-OUT» любого из 3 устройств для устройства дробного счета.
Рисунок 5 подробно объясняет, как работает этот этап, показывая, как измерить расход 1,5 л / мин.
Шаг 5: Третий этап: отображение измеренного значения
Этот каскад имеет в качестве входов: a0, a1, a2 и a3 (перевернутые), и будет выводиться на контакты, подключенные к 7-сегментному дисплею. У каждого сегмента есть логическая функция, которую должны выполнять доступные LUT. 4-битные LUT могут очень легко выполнить эту работу, но, к сожалению, доступен только 1. 4-битный LUT0 используется для сегмента G, но для других сегментов мы использовали пару 3-битных LUT, как показано на рисунке 6. К входам крайних левых 3-битных LUT подключены a2 / a1 / a0, в то время как крайний правый 3-битные LUT имеют a3, подключенный к их входам.
Все справочные таблицы могут быть выведены из 7-сегментной таблицы истинности декодера, показанной в Таблице 2. Они представлены в Таблице 3, Таблице 4, Таблице 5, Таблице 6, Таблице 7, Таблице 8, Таблице 9.
Управляющие контакты GPIO, которые управляют 7-сегментным дисплеем, подключаются к «COUNT / DISP-IN» через инвертор в качестве выходов, когда «COUNT / DISP-IN» имеет низкий уровень, что означает, что отображение изменяется только во время задачи отображения. Следовательно, во время задачи подсчета дисплеи выключены, а во время задачи на отображение на них отображаются подсчитанные импульсы.
Индикатор десятичной точки может понадобиться где-нибудь в пределах 7-сегментного дисплея. По этой причине PIN5, обозначенный «DP-OUT», подключается к перевернутой сети «COUNT / DISP», и мы подключаем его к DP соответствующего дисплея. В нашем приложении нам нужно отобразить десятичную точку устройства подсчета единиц, чтобы отображать числа в формате «xx.x», затем мы подключим «DP-OUT» устройства подсчета единиц к входу DP 7- сегментный дисплей, а остальные оставляем неподключенными.
Шаг 6: Аппаратная реализация
На рисунке 7 показано соединение между 3 микросхемами GreenPAK и подключения каждой микросхемы к соответствующему дисплею. Выход десятичной точки GreenPAK соединен с входом DP 7-сегментного дисплея для отображения расхода в правильном формате с разрешением 0,1 литра / минуту. Вход PWM микросхемы LSB подключен к выходу PWM датчика расхода воды. Выходы F / 10 схем подключены к входам ШИМ следующей микросхемы. Для датчиков с более высоким расходом и / или большей точностью можно каскадировать большее количество микросхем для добавления большего количества цифр.
Шаг 7: Результаты
Для тестирования системы мы построили простую печатную плату, на которой есть разъемы для подключения к розеткам GreenPAK с использованием 20-контактных двухрядных гнездовых разъемов. Схема и расположение этой печатной платы, а также фотографии представлены в Приложении.
Система была протестирована сначала с Arduino, который имитирует датчик расхода и источник воды с постоянным известным расходом, генерируя импульсы с частотой 225 Гц, что соответствует расходу 30 литров в минуту соответственно. Результат измерения составил 29,7 л / мин, погрешность около 1%.
Второй тест проводился с датчиком расхода воды и домашним источником воды. Измерения при разных расходах составили 4,5 и 12,4.
Заключение
Эта инструкция демонстрирует, как построить небольшой, недорогой и точный расходомер с использованием Dialog SLG46533. Благодаря GreenPAK этот дизайн меньше, проще и легче в создании, чем аналогичные решения.
Наша система может измерять расход до 30 литров / минуту с разрешением 0,1 литра, но мы можем использовать больше GreenPAK для измерения более высоких расходов с более высокой точностью в зависимости от датчика потока. Система на базе Dialog GreenPAK может работать с широким спектром турбинных расходомеров.
Предлагаемое решение было разработано для измерения расхода воды, но его можно адаптировать для использования с любым датчиком, который выдает сигнал ШИМ, например датчик расхода газа.
Рекомендуемые:
Как создать загрузочный диск Linux (и как его использовать): 10 шагов
Как создать загрузочный диск Linux (и как его использовать): это простое введение о том, как начать работу с Linux, в частности с Ubuntu
Система сигнализации питьевой воды / Монитор забора воды: 6 шагов
Система оповещения о питьевой воде / Монитор потребления воды: мы должны пить достаточное количество воды каждый день, чтобы оставаться здоровыми. Также есть много пациентов, которым прописывают выпивать определенное количество воды каждый день. Но, к сожалению, мы почти каждый день пропускали график. Итак, я проектирую
Готовый к облаку расходомер Arduino: 5 шагов
Готовый к облаку расходомер Arduino: в этом руководстве я покажу вам, как настроить arduino с расходомером Adafruit, отправить полученные данные в облако и использовать их для любого проекта, который вы можете себе представить
Как сделать цепь аварийного сигнала избыточного расхода воды с использованием полевого МОП-транзистора Z44N: 7 шагов
Как сделать схему сигнализации о перетекании воды с использованием полевого МОП-транзистора Z44N: Привет друг, сегодня я собираюсь сделать схему сигнализации перелива воды. В основном эту схему мы можем использовать для определения перелива воды в нашем резервуаре для воды. в этом проекте используется МОП-транзистор IRFZ44N. Давайте начнем
Методы определения уровня воды Arduino с помощью ультразвукового датчика и датчика воды Funduino: 4 шага
Методы определения уровня воды Arduino с помощью ультразвукового датчика и датчика воды Funduino: в этом проекте я покажу вам, как создать недорогой датчик воды, используя два метода: 1. Ультразвуковой датчик (HC-SR04) 2. Датчик воды Funduino