#145 closed улучшение (сделано)
Сглаживание данных датчика давления
Сообщил: | Art_M | Владелец: | |
---|---|---|---|
Приоритет: | средний | Этап разработки: | 2-я очередь |
Ключевые слова: | Копия: | andrei, alx |
Описание
Замечено, что имеются существенные броски (шум) значений давления при отображении значений на дисплее и на отображаемых динамограммах.Ранее в Блоках УГП я не замечал таких бросков, которые сейчас видны прорабатываемом контроллере.
Согласно сведениям Александра, Блок УГП получал значение от датчика давления каждые 1мс, а с периодичностью 50мс, Блок УГП брал последние 10значений (т.е. за последние 10мс) и находил среднее значение. Вычисленное значение Блок УГП отражал и записывал в динамограмму.
В прорабатываемом контроллере был принят FIR фильтр, который сглаживает получаемое один раз в 50мс значение давления по настраиваемому коэффициенту и предыдущему значению давления. Данный FIR фильтр нам не подходит для фильтрации имеющихся бросков (шумов).
К сообщению я приложил файл Excel, а так же скриншоты, отображающие работу сглаживания в устройствах и по методикам.
Расшифровка :
- черная линия - график изменения "реального" давления по времени
- серая шумная линия - полученное случайным образом "зашумление" "реального" давления
- зеленая линия - сглаживание шума Блоком УГП по методу Саши зеленая линия
- красная линия - фильтрование шума УГП-ЧР фильтром FIR по методу Алексея
- синяя линия - усреднение всех 50 значений снятых с периодичностью 1мс в в течение 50мс.
- желтая линяя - дальнейшее фильтрование синей линии настраиваемым FIR
Так вот по графикам очевидно, что при одном и том же FIR=0,5 красная линия в случае постоянного "реальной" значения более "корявая" (практически всегда дальше от "реального" значения), а в случае динамического изменения "реального" более гладкая, чем например зеленая линия, как если бы те же самые значения видел бы Блок УГП.
Т.о. мы не можем увеличивать значение FIR, т.к. мы потеряем детальности в динамике, и уменьшать тоже, т.к. будем видеть больше шума на статике.
Очевидно применение такого способа сглаживания нам не подходит. Проверяя подходящие способы очевидно, что методика примененная в Блоке УГП лучше всего! Сглаживание округление всех значений в течение 50мс дает нам некоторое отставание синей линии от "реального" значения, что очевидно на синусном графике.
Поэтому предлагаю выполнить сглаживание данных датчика давления методом по аналогии с Блоком УГП, а настраиваемый FIR оставить как есть, т.е. накладывать поверх усредненных по методу Блока УГП значений.
Вложения (10)
История изменений (29)
by , 6 лет ago
Вложение: | График методов сглаживания.png added |
---|
by , 6 лет ago
Вложение: | FIR vs округление squareform.xlsx added |
---|
by , 6 лет ago
Вложение: | FIR vs округление sineform.xlsx added |
---|
comment:3 by , 6 лет ago
Replying to Art_M:
Согласно сведениям Александра, Блок УГП получал значение от датчика давления каждые 1мс...
...
Поэтому предлагаю выполнить сглаживание данных датчика давления методом по аналогии с Блоком УГП
Сразу скажу, что данный метод не может быть применен на текущем "железе" - оно не может опрашивать датчик давления с такой периодичностью. Потребуется переработка платы SAM-UGP - она должна будет сама накапливать значения в какой-то своей памяти, а затем передавать в контроллер сразу "пачку" накопленных значений для последующей обработки (или, как вариант, сразу их суммировать, а в контроллер отдавать уже среднее значение).
comment:4 by , 6 лет ago
И еще мне непонятно, почему сразу предлагается бороться со следствием. Не будет ли лучше сначала попытаться разобраться с причиной - откуда берется этот шум, с последствиями которого предлагается бороться? Вполне может быть, что если найти и устранить причину возникновения шума в сигнале, то и бороться с его последствиями было бы не нужно...
comment:5 by , 6 лет ago
Replying to Art_M:
Блок УГП брал последние 10значений (т.е. за последние 10мс) и находил среднее значение. Вычисленное значение Блок УГП отражал и записывал в динамограмму.
Если я правильно понимаю, это FIR-фильтр "скользящая средняя", являющийся разновидностью фильтра низких частот. Если, как я уже писал, применение такого фильтра все равно потребует изменения схемотехники (переработки платы), то может быть стоит подумать в направлении реализации подобного фильтра аналоговым способом - возможно, это потребует существенно меньших изменений и затрат, нежели прямое повторение описанного Александром алгоритма. Тем более что Андрей все равно планировал добавлять какой-то аналоговый фильтр в эту плату...
следующий: 9 comment:7 by , 6 лет ago
У нас в станции нет FIR фильтра. У нас применен IIR фильтр.
Пардоньте, я не запомнил, как он назывался, потому как в ТЗ сначала его назвали одним именем, а потом исправили на другое. Мне показалось, что последним было FIR, но оказалось наоборот IIR. Сути это не меняет, т.к. в графиках я использовал формулу однажды промелькнувшую в ТЗ:
Y0=K*Y1+X*(1-K).
Какая (в каких единицах) величина отложена по оси Y на этих графиках:Догадываюсь, что это нагрузка на штоке, но в чем - в ньютонах или в кгс?
Это условно кгс, а вообще не особо принципиально, важна близость полученных данных к реальному значению...
Сразу скажу, что данный метод не может быть применен на текущем "железе" - оно не может опрашивать датчик давления с такой периодичностью.
Это прискорбно, с какой периодичностью можно обеспечить опрос?
Не будет ли лучше сначала попытаться разобраться с причиной - откуда берется этот шум, с последствиями которого предлагается бороться? Вполне может быть, что если найти и устранить причину возникновения шума в сигнале, то и бороться с его последствиями было бы не нужно...
Однозначную причину установить на данный момент не удалось... Другой вариант несколько улучшающий положение дел - припайка конденсатора. Однако доработка приводов в суровых условиях Нижневартовска, я думаю, Андрея не очень радует...
comment:8 by , 6 лет ago
Replying to Art_M:
Так вот по графикам очевидно, что при одном и том же FIR=0,5 красная линия в случае постоянного "реальной" значения более "корявая" (практически всегда дальше от "реального" значения), а в случае динамического изменения "реального" более гладкая, чем например зеленая линия, как если бы те же самые значения видел бы Блок УГП.
Если я правильно понял, здесь речь идет о выборе фильтра измеряемого сигнала, и критерием отбора является минимизация влияния помехи на результат. Если так, то методика оценки (сравнение исходного полезного сигнала с полезным сигналом, к которому добавлена помеха, прошедшему через фильтр) мне кажется неверной. Мне кажется, более правильным методом было бы применить каждый фильтр дважды: сначала к полезному сигналу без помехи, затем к полезному сигналу с помехой, после чего вычесть один результат из другого. Полученная разность и будет ошибкой, обусловленной наличием помехи. Вот величину этой разницы и следует оценивать...
comment:9 by , 6 лет ago
Replying to Art_M:
Это прискорбно, с какой периодичностью можно обеспечить опрос?
Опрос можно обеспечить с периодичностью 50 мс - именно на эту величину ориентировались при разработке станции. Вероятно, этот период можно уменьшить в 2-3 раза (с уверенностью сказать нельзя, нужны тесты), но точно не в 50 раз (почти на два порядка!). Также не следует забывать, что в станции запланирован еще и некий "двухлифтовый" вариант, при котором контроллер должен будет опрашивать большее число датчиков - например два дополнительных индуктивных датчика положения и еще один датчик давления, которые сейчас не используются...
Поэтому я еще раз настоятельно предлагаю рассмотреть вариант реализации фильтра "по методу Саши" до АЦП, в аналоговых цепях. Это выльется лишь в пару дополнительных резисторов и пару дополнительных конденсаторов, и исключит необходимость повышать частоту дискретизации. Это если перед нами стоит задача минимальной ценой уменьшить влияние помехи. Если менеджмент поставит задачу радикально переработать железо, фактически разработать новое, второе поколение станции - это будет другой разговор. В новой разработке можно будет применить и АЦП другого типа, рассчитанные на снятие гораздо бОльших потоков данных, и учесть еще массу других существующих недостатков, о которых мы теперь знаем по опыту разработки нашей сегодня существующей станции (искрогасящие цепи, дифференциальные линии связи, большой дисплей и т.п.).
comment:10 by , 6 лет ago
Попробуем протащить кабель датчика давления через металлорукав.
Цель - избавиться от наводок.
Надо включиться и с конденсатором и без и снова посмотреть сигнал осциллографом.
by , 6 лет ago
Вложение: | ДД без доработок.JPG added |
---|
by , 6 лет ago
Вложение: | ДД в металлорукове.JPG added |
---|
by , 6 лет ago
Вложение: | ДД в металлорукове_цикл.JPG added |
---|
comment:11 by , 6 лет ago
- Конденсатор 10 нФ на входе уменьшает помеху.
- Кабель датчика давления в металлорукав, заземленный в шкафу. Результаты лучше чем в п.1.
- На измерительный вход ДД конденсатор 1 uF или 0,25 uF на землю. Результат как с металлорукавом, по словам Неволина 1 uF показывает лучшие результаты.
- Металлорукав на кабеле и конденсатор на входе убирают наведенные помехи.
- На неэкранированый кабель при датчике не связанным с землей помеха не наводится.
следующий: 13 comment:12 by , 6 лет ago
Решение для 14 отгруженных установок - выпустить конденсатор с креплением к корпусу УГП-ЧР. Конденсатор прикрутить на входной клеммник ДД1 силами техноойл. Будет не идеально, но трудозатраты минимальные.
В следующих установках (если будут следующие) для всех кабелей, выходящих из шкафа СУГП-ЧРП применять металлорукав вместо пластиковой гофры. В таком случае возможно и программная фильтрация не понадобится.
Артем, решение тебя удовлетворяет? Закрываем тикет?
следующий: 14 comment:13 by , 6 лет ago
Replying to andrei:
Артем, решение тебя удовлетворяет? Закрываем тикет?
Андрей, в описании тикета Артем жалуется на (цитирую) "броски (шум) значений давления при отображении значений на дисплее и на отображаемых динамограммах". Приведенные тобой осциллограммы - это, конечно, полезная информация, но из твоих комментариев так и не ясно, привело ли добавление конденсатора и металлорукава к устранению бросков и шума, на которые, собственно, жалуется Артем, или нет...
comment:14 by , 6 лет ago
Replying to alx:
привело ли добавление конденсатора и металлорукава к устранению бросков и шума, на которые, собственно, жалуется Артем, или нет...
Вот фото экрана динамограмм из эксперимента (ожидаемый Артёмом диапазон нагрузок 0 ... 4000 кгс)
- Исходное состояние, без доработок
- На измерительный вход ДД конденсатор 1 uF на землю.
- Металлорукав на кабеле и конденсатор 0.25 uF на землю на входе ДД.
comment:15 by , 6 лет ago
Артем, устроит ли тебя предложенное Андреем решение, или ты настаиваешь на программной реализации фильтра?
comment:16 by , 6 лет ago
Решение: | → сделано |
---|---|
Состояние: | new → closed |
Никакой другой программный фильтр, кроме существующего, для текущих изделий пока реализовать не будем.
Аппаратно поставим конденсаторы 1 uF с клеммой для прикручивания к корпусу (GND).
Проблему это устраняет.
Если нужно ещё качественнее убирать помеху, то просим НПК запихать все провода в металлорукав, как предписывает инструкция к ЧРП.
следующие: 18 19 comment:17 by , 6 лет ago
В сложившейся ситуации выбор мне не предоставлен. Топик был о улучшении софтового сглаживание шума, либо доведения его до состояния "как это было на Блоке УГП", которое, как оказалось, выполнить невозможно в силу особенностей разработанного контроллера. Это прискорбно. Как это в дальнейшем может сказаться на интеллектуальной функции - неизвестно. Может быть при дальнейшей переработке "железа" учтем этот момент (развязка датчика давления от основной шины), важно при этом будет постараться сохранить унификацию софта.
Ну а теперь о "железном" устраении шума, на этой партии решение только одно - ставим кондеры. На следующую партию прошу учесть в стоимости станции поставку датчика с кабелем сразу в металлогофре с припаенным концом для заземления к соответствующей клемме в станции. Андрей, что скажешь?
comment:18 by , 6 лет ago
Replying to Art_M:
В сложившейся ситуации выбор мне не предоставлен. Топик был о улучшении софтового сглаживание шума, либо доведения его до состояния "как это было на Блоке УГП",
Если ты посмотришь на картинку в ПО Динамограф, то увидишь что динамограммы старого блока и нового мало чем отличаются. А другого способа сравнить вроде нет. Поправьте если ошибаюсь.
которое, как оказалось, выполнить невозможно в силу особенностей разработанного контроллера. Это прискорбно. Как это в дальнейшем может сказаться на интеллектуальной функции - неизвестно. Может быть при дальнейшей переработке "железа" учтем этот момент (развязка датчика давления от основной шины), важно при этом будет постараться сохранить унификацию софта.
Да, конечно. Я настоятельно прошу учесть рекомендации производителя ЧРП по засовыванию кабелей в металлорукав для исключения высокого уровня помех по всей длине кабелей.
Если же нет желания подключать ЧРП правильно, но хочется чтобы было хорошо, давайте вернемся к контакторам. Источник шума исчезнет и все будет как в старом добром УГП (мечты сбываются).
Ну а теперь о "железном" устраении шума, на этой партии решение только одно - ставим кондеры.
Это касается не только этой партии. Конденсатор там обязан стоять всегда. Это уже косяк разработчика, который не работал с ЧРП.
На следующую партию прошу учесть в стоимости станции поставку датчика с кабелем сразу в металлогофре с припаенным концом для заземления к соответствующей клемме в станции. Андрей, что скажешь?
А это обсуждаемо. Я думаю что дешевле одинаковые операции делать в одном месте, но не вижу проблем, если шнур подключения ДД в металлорукав будет заталкивать АДС, опыт заталкивания есть. Заложить в стоимость тоже не сложно, главное не забыть при новых разработках.
comment:19 by , 6 лет ago
Replying to Art_M:
Может быть при дальнейшей переработке "железа" учтем этот момент (развязка датчика давления от основной шины),
Я не понял... О какой шине идет речь? И о какой развязке - гальванической? Вроде бы датчики давления у нас ни к какой шине не подключаются, для каждого датчика свой собственный индивидуальный вход... Это датчики температуры у нас на общей шине...
Replying to Art_M:
...
...
У нас в станции нет FIR фильтра. У нас применен IIR фильтр. Соответственно, все последующие моделирования и сравнения результатов работы FIR-фильтра (если это действиетльно он) получается бессмысленно - оно не имеет отношения к нашей установке...