Page 1 of 1

Фильтр сглаживания для аналогового сигнала

Posted: Sun Jun 04, 2017 9:48 am
by wrathangels
Всем доброго времени суток !Имеется аналоговое значение (пятизначное) от тензодатчика. Последня цифра, а и иногда предпоследняя цифра, этого анологового значения постоянно меняется и из-за этого постоянно "прыгает" вес в программе и из за этого не могу выставить ноль системе
Подскажите как решить данную проблему.Возможно есть примеры программ на SCL ?

Re: Фильтр сглаживания для аналогового сигнала

Posted: Wed Jun 07, 2017 5:51 am
by ALcron
Сделайте зону нечувствительности
Или усредняйте значение (скользящее среднее)
Или их комбинацию

В любом случае будет потеря в скорости и точности обработки сигнала.

Да и вообще зачем такая точность (до 5го знака), если сам датчик выдает ложный сигнал в этом разряде, просто можно округлить до 4 разряда...

Re: Фильтр сглаживания для аналогового сигнала

Posted: Thu Jun 08, 2017 6:26 am
by MEFinc
Еще как вариант:
1. Настроить фильтрацию в hardware канала.
2. Реализовать фильтр (3 строчки кода в SCL):
Image

Re: Фильтр сглаживания для аналогового сигнала

Posted: Fri Jun 09, 2017 4:02 pm
by wrathangels
Дело в том что собираю весовой терминал.Когда преобразую величину в значение получается к примеру 23.56 кг ,второй разряд после зааятой в данном случае 6-ка прыгает.Это мешает измерению ,т.к планируется дозировать наполнение пакетов. Округление особо не помогает ,пробовал различные фильтры и по времени в итоге измерение становится инертным довольнотаки.
В формуле с экспонентой t и T какое из них что значит на примере цикла ПЛК .t это как часто опрашивается сигнал или время выполнения блока программы ?? Пояснительная пожалуйста )

Re: Фильтр сглаживания для аналогового сигнала

Posted: Fri Jun 09, 2017 5:24 pm
by Rex2701
ОК, добавь обработку зоны нечувствительности (deadband): в каждом цикле новое значение веса сравниваешь с сохранённым предыдущим. Если дельта по модулю между ними меньше 0.02 - оставляешь старое значение. И нет больше никакого дребезга в младшем разряде.

Re: Фильтр сглаживания для аналогового сигнала

Posted: Mon Jun 12, 2017 4:04 am
by serg_58
Привет.
А почему не использовать для этой цели стандартный PID-регулятор? Gain на единицу, D на 0, а интегратором добиться требуемого. И не заморачиваться. Была аналогичная тема лет 10 назад, только не с весом, а с уровнем в смесительном танке. При включеной мешалке, была полная дребедень. :D

Re: Фильтр сглаживания для аналогового сигнала

Posted: Mon Jun 12, 2017 10:10 pm
by wrathangels
Т.е мне надо записать значения в N мерный массив и каждое N-1 значение сравнить с N , если результат не выходит за дельту отправлять его на обработку?
Если можно то пример пару строчек...

Re: Фильтр сглаживания для аналогового сигнала

Posted: Tue Jun 13, 2017 8:29 am
by Rex2701
Да какой массив... Достаточно хранить предыдущее значение.
ЕСЛИ Хтек-Xпред<Дельта ТО Y=Xпред ИНАЧЕ Y=Xтек: Xпред=Xтек

Re: Фильтр сглаживания для аналогового сигнала

Posted: Thu Jun 15, 2017 5:53 pm
by wrathangels
Не в те материи подался я)))спасибо)
А вообще для весоизмерительной техники нормально что так плавает разряд? Просто реальные весы когда взвешиваешь разряды стоят как вкопаны, а тут получается при таком алгоритме я несколько раз укладываю один и тот же вес а показания начинают немного разнится...

Re: Фильтр сглаживания для аналогового сигнала

Posted: Thu Jun 15, 2017 8:25 pm
by Rex2701
Всё зависит от того, куда эти показания потом идут. Если это вес ёмкости и ПИДу надо "поймать" уставку при заполнении - небольшая погрешность не роляет. А если это мгновенный вес в потоке, который идёт в суммы за час/смену/неделю/месяц - это совсем другое.

Re: Фильтр сглаживания для аналогового сигнала

Posted: Thu Jun 15, 2017 9:39 pm
by wrathangels
У меня субстанцией наполняется пакет который стоит на весах,т.е. задаю объём происходит наполнение как необходимый вес набрался все стоп.
У Siemens есть весоизмерительные модули siwarex, уважаемый Rex2701 вы не знаете там алгоритмы на аппаратном уровне зашиты, или основные преобразования в запароленых блоках?

Re: Фильтр сглаживания для аналогового сигнала

Posted: Mon Jun 19, 2017 5:30 am
by Rex2701
Весовая служба у нас отдельная. Почитайте документацию на SIWAREX'ы.

Re: Фильтр сглаживания для аналогового сигнала

Posted: Thu Jun 29, 2017 1:11 pm
by Dfcz
Если не вдаваться в дискусии оп весовому хозяйству, то фильтрацию на аналоговых входах я делаю просто: делю на 10 потом умножаю на 10 (10 или 100 или 1000 смотря сколько знаков надо отфильтровать).