Обработка сигнала с датчик диф. давления
Обработка сигнала с датчик диф. давления
Привет народ.
Есть задача обработка сигнала с датчика диф. давления. Датчик подключен к arduino uno и выдает аналоговый сигнал 1-6 вольт. Датчик выдает +- 2.5 Вольта, при этом ноль = 3.5 Вольта это по даташиту.
Подключил вот такой график На верхней паре графиков выводится снизу значения расхода воздуха (считается по формуле), а с верху интеграл от расхода, то есть объем. Воздух ходит в одну и другую сторону по этому такой и график. Но существует проблема ошибка или шум (начало нижнего графика) который дает датчик диф давления накапливается и дает сильную нарастающую ошибку при интегрировании. Может посоветуйте как можно ее обойти?
И еще момент с выводом результата на самом нижнем графике выводится значения мгновенного расхода в текущий момент, как сделать, что бы всегда на экране были значения за последние 30 секунд? А не накапливались постоянно?
Вот сама прога.
Есть задача обработка сигнала с датчика диф. давления. Датчик подключен к arduino uno и выдает аналоговый сигнал 1-6 вольт. Датчик выдает +- 2.5 Вольта, при этом ноль = 3.5 Вольта это по даташиту.
Подключил вот такой график На верхней паре графиков выводится снизу значения расхода воздуха (считается по формуле), а с верху интеграл от расхода, то есть объем. Воздух ходит в одну и другую сторону по этому такой и график. Но существует проблема ошибка или шум (начало нижнего графика) который дает датчик диф давления накапливается и дает сильную нарастающую ошибку при интегрировании. Может посоветуйте как можно ее обойти?
И еще момент с выводом результата на самом нижнем графике выводится значения мгновенного расхода в текущий момент, как сделать, что бы всегда на экране были значения за последние 30 секунд? А не накапливались постоянно?
Вот сама прога.
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Обработка сигнала с датчик диф. давления
hammer, вольтовый сигнал подвержен наводкам как никакой другой.
Проверьте не идет ли у Вас рядом с проводом от датчика провод питания ~220 В.
уж больно Ваш сигнал на наводку 50 Гц смахивает.
и кабель для подключения Вашего датчика следует использовать экранированный. а экран посадить на землю.
а вообще, лучше использовать унифицированный токовый сигнал 4...20 мА.
если Ваш датчик такой сигнал не поддерживает, то можете поставить вторичный преобразователь.
Проверьте не идет ли у Вас рядом с проводом от датчика провод питания ~220 В.
уж больно Ваш сигнал на наводку 50 Гц смахивает.
и кабель для подключения Вашего датчика следует использовать экранированный. а экран посадить на землю.
а вообще, лучше использовать унифицированный токовый сигнал 4...20 мА.
если Ваш датчик такой сигнал не поддерживает, то можете поставить вторичный преобразователь.
Re: Обработка сигнала с датчик диф. давления
Когда тестировал 220 было рядом, попробую экранировать.Aleksey Feoktistov писал(а):hammer, вольтовый сигнал подвержен наводкам как никакой другой.
Проверьте не идет ли у Вас рядом с проводом от датчика провод питания ~220 В.
уж больно Ваш сигнал на наводку 50 Гц смахивает.
и кабель для подключения Вашего датчика следует использовать экранированный. а экран посадить на землю.
а вообще, лучше использовать унифицированный токовый сигнал 4...20 мА.
если Ваш датчик такой сигнал не поддерживает, то можете поставить вторичный преобразователь.
Датчик такой DC025BDR5, вот на него даташит.
http://z.compel.ru/item-pdf/a9a47f3821c ... ney~dc.pdf
Re: Обработка сигнала с датчик диф. давления
Aleksey Feoktistov, А на счет этого не подскажите?
И еще момент с выводом результата на самом нижнем графике выводится значения мгновенного расхода в текущий момент, как сделать, что бы всегда на экране были значения за последние 30 секунд? А не накапливались постоянно?
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Обработка сигнала с датчик диф. давления
Интегрирование в принципе будет давать накопление ошибки, от этого никуда не деться. Но если действие циклическое, то можно попробовать обнулять интерграл синхронно с циклом.
И еще. дифференциальный сигнал должен очень хорошо давить наводки, для этого он, собственно и предназначен. Если он у вас шумит, то что-то не так со схемой измерения. Либо АЦП не в дифф режиме, либо дифференциальная пара проводов не перевита.
И еще. дифференциальный сигнал должен очень хорошо давить наводки, для этого он, собственно и предназначен. Если он у вас шумит, то что-то не так со схемой измерения. Либо АЦП не в дифф режиме, либо дифференциальная пара проводов не перевита.
Re: Обработка сигнала с датчик диф. давления
А можно поподробнее. У меня сделано так плата arduino uno к ней подключен датчик диф давления проводами для мекетки, внешнее питание 7 вольт подводится от лабораторного блока пинатия hy3005d, gnd arduinы и ноль блока питания перемкнуты. Вот снимаемый сигнал Зеленый это напряжение в состоянии покоя на датчике, гуляет от 3,535 до 3,55. В принципе такая погрешность (шум) не мешают для отображения объемного расхода, но вот когда берется интеграл для расчета объема за итерацию, получается сильное накопление ошибки.Borjomy_1 писал(а):Интегрирование в принципе будет давать накопление ошибки, от этого никуда не деться. Но если действие циклическое, то можно попробовать обнулять интерграл синхронно с циклом.
И еще. дифференциальный сигнал должен очень хорошо давить наводки, для этого он, собственно и предназначен. Если он у вас шумит, то что-то не так со схемой измерения. Либо АЦП не в дифф режиме, либо дифференциальная пара проводов не перевита.
Попробовал убрать подальше от всех проводов не помогло, подключил проводами от витой пары (перевитые), тоже не помогло.
Обнулять значение интеграла скорее всего не получится, потому, что расход в одну сторону не факт, что будет равным расходу в другую. Но попробую конечно.
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Обработка сигнала с датчик диф. давления
hammer, можете попробовать программно убрать шум.
используйте программный фильтр нижних или верхних частот (смотря какая помеха).
Блок-диаграмма --> ПКМ --> Signal Processing --> Filters
или Блок-диаграмма --> ПКМ --> Express --> Signal Analysis --> Filter
используйте программный фильтр нижних или верхних частот (смотря какая помеха).
Блок-диаграмма --> ПКМ --> Signal Processing --> Filters
или Блок-диаграмма --> ПКМ --> Express --> Signal Analysis --> Filter
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Обработка сигнала с датчик диф. давления
В таком случае хотелось-бы знать, что вы хотите от интеграла, он как раз и будет показывать перемещаемую массу. Если неизменная масса воздуха гоняется туда-обратно, то обнулять надо кратно периоду. Если нет, то это попытка поднять себя за волосы.Обнулять значение интеграла скорее всего не получится, потому, что расход в одну сторону не факт, что будет равным расходу в другую. Но попробую конечно.
Обратите внимание, что красны тренд не крутится вокруг нуля, а имеет смещение. Это также приводит к накоплению ошибки.
Можете интегрированный сигнал, который у вас обозначен как "Спирограмма" прогонять через ФВЧ (обрезаются нижние частоты и постоянная составляющая). Полосу среза поставьте 0.1Гц
Re: Обработка сигнала с датчик диф. давления
Красный график не в нуле потому, что ноль для данного датчика по паспорту 3,5 вольта, но реально он 3,545 где то и от случая к случаю меняется. Поэтому и интегральная составляющая постоянно уходит. Пробовал посчитать значение начального нулевого значения напряжения как среднее арифметическое первых 1000 значений напряжения без нагрузки, но все равно потом начинает прыгать. Искусственно убрать шум не учитывая значения напряжения если они отличаются от предыдущего меньше чем на 0,02 вольта. Помогло но полностью избавиться не удалось.
Пока стоит вопрос как с датчика у которого "плавает ноль" гарантированно получать этот ноль.
Можно примерчик:
Пока стоит вопрос как с датчика у которого "плавает ноль" гарантированно получать этот ноль.
Можно примерчик:
Можете интегрированный сигнал, который у вас обозначен как "Спирограмма" прогонять через ФВЧ (обрезаются нижние частоты и постоянная составляющая). Полосу среза поставьте 0.1Гц
-
- adviser
- Сообщения: 222
- Зарегистрирован: 14 апр 2014, 17:36
- Версия LabVIEW: 14
- Откуда: г.Киров
- Контактная информация:
Re: Обработка сигнала с датчик диф. давления
Попробуйте просто отфильтровать шум например фильтром Beуssel Filter.vi и возможно обойдетесь без интегралов.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение