На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

Разработка весового терминала(алгоритм взвешивания)

Метрология, КИП и датчики

Автор темы
wrathangels
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 15 июн 2017, 21:35
Имя: Алексей

Разработка весового терминала(алгоритм взвешивания)

Сообщение wrathangels » 15 июн 2017, 22:11

Доброго времени суток всем!
Упала задача от руководства разработать весовой терминал для взвешивания.
Исходные данные, есть в наличии весовая платформа Тензо М ВПА-100-1, контроллер в среде программирования (Codesys),модуль аналогового ввода для подключения тензо-мостов. Принцип реализации взвешивания и калибровки вроде понятен по двум точкам написал блок, но возникла следующая проблема. Код АЦП постоянно прыгает в последнем разряде, т.е например при переводе в кг
23.456 кг постоянно прыгают последние два разряда, вибраций и воздействий на систему особых нет. Пробовал усреднять значения и скользящим и медиальным средним эффекта особого нет.
Если кто сталкивался с подобными задачами подскажите советом, может есть уже алгоритм наработанный, как убрать эти скачки и что я не учёл ещё.
Заранее благодарен!

Аватара пользователя

izhidkov
освоился
освоился
Сообщения: 270
Зарегистрирован: 25 фев 2016, 12:18
Имя: Жидков Игорь Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Разработка весового терминала(алгоритм взвешивания)

Сообщение izhidkov » 17 июн 2017, 11:27

Так какая вам точность нужна в итоге? На таком весе о грамме точности и не мечтайте, за десятки можно побороться, но только если у вас АЦП 24 бит, и есть возможность помеху 50 Гц отфильтровать.
А так источник помех может быть любой, нестабильность питания, наводки на провода, малые вибрации..
Компилятор - лучший друг человека!


Автор темы
wrathangels
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 15 июн 2017, 21:35
Имя: Алексей

Разработка весового терминала(алгоритм взвешивания)

Сообщение wrathangels » 17 июн 2017, 13:09

izhidkov писал(а):Источник цитаты Так какая вам точность нужна в итоге? На таком весе о грамме точности и не мечтайте, за десятки можно побороться, но только если у вас АЦП 24 бит, и есть возможность помеху 50 Гц отфильтровать.
А так источник помех может быть любой, нестабильность питания, наводки на провода, малые вибрации.


Разрешение модуля 16 Bit, а требуемая точность +/- 50г, в модуле вроде как написано фильтр 50 Hz встроен..


Юрий См
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 07 окт 2009, 18:57
Имя: Смирнов Юрий Николаевич

Разработка весового терминала(алгоритм взвешивания)

Сообщение Юрий См » 17 июн 2017, 17:01

Лучшее решение - цифровая фильтрация. Например взять за основу http://smirn.bget.ru/product/digit.htm


Автор темы
wrathangels
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 15 июн 2017, 21:35
Имя: Алексей

Разработка весового терминала(алгоритм взвешивания)

Сообщение wrathangels » 18 июн 2017, 01:32

А какой то исходник программы есть, чтобы на codesys ST перенести?? А то не все понятно...

Аватара пользователя

izhidkov
освоился
освоился
Сообщения: 270
Зарегистрирован: 25 фев 2016, 12:18
Имя: Жидков Игорь Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Разработка весового терминала(алгоритм взвешивания)

Сообщение izhidkov » 18 июн 2017, 13:00

wrathangels писал(а):Источник цитаты Разрешение модуля 16 Bit, а требуемая точность +/- 50г

какой НПВ и какая частота опроса? Если вы говорите что сделали усреднение и все равно толку нет, значит, вероятно, не так делали усреднение.
Компилятор - лучший друг человека!


Автор темы
wrathangels
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 15 июн 2017, 21:35
Имя: Алексей

Разработка весового терминала(алгоритм взвешивания)

Сообщение wrathangels » 18 июн 2017, 15:06

izhidkov писал(а):
wrathangels писал(а):Источник цитаты Разрешение модуля 16 Bit, а требуемая точность +/- 50г

какой НПВ и какая частота опроса? Если вы говорите что сделали усреднение и все равно толку нет, значит, вероятно, не так делали усреднение.


НПВ 150КГ, частота опроса модулем 500ms.. да вроде усреднял правильно по формулам, просто если глубину фильтра делать больше (кол-во выборок) реакция системы на изменение веса ну очень медленно...
Может быть подход при усреднении не правильный, если есть какой то пример программы только рад буду посмотреть...


Юрий См
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 07 окт 2009, 18:57
Имя: Смирнов Юрий Николаевич

Разработка весового терминала(алгоритм взвешивания)

Сообщение Юрий См » 18 июн 2017, 18:08

Используйте саму формулу фильтра Y = 0,0009 * Xi + 1,9556 * Yib - 0,9565 * Yia, где
Xi - входной отсчет АЦП
Yia - выходное значение формулы на предыдущем (i-1) измерении (шаге)
Yib - выходное значение формулы на пред.предыдущем (i-2) измерении (шаге)
Это будет фильтр 2-го порядка. Два последовательно включенных таких фильтра дадут 4 порядок
Больше для весов и не требуется.


Автор темы
wrathangels
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 15 июн 2017, 21:35
Имя: Алексей

Разработка весового терминала(алгоритм взвешивания)

Сообщение wrathangels » 19 июн 2017, 01:34

Юрий См писал(а):Используйте саму формулу фильтра Y = 0,0009 * Xi + 1,9556 * Yib - 0,9565 * Yia, где
Xi - входной отсчет АЦП
Yia - выходное значение формулы на предыдущем (i-1) измерении (шаге)
Yib - выходное значение формулы на пред.предыдущем (i-2) измерении (шаге)
Это будет фильтр 2-го порядка. Два последовательно включенных таких фильтра дадут 4 порядок
Больше для весов и не требуется.


Измеренные значения я должен из массива какого то брать или просто три строчки:
Y:=0.0009*X+1.9556*Yib-0.9565*Yia;
Yia:=Y;
Yib:=Yia;
Запутался в трёх соснах....


Юрий См
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 07 окт 2009, 18:57
Имя: Смирнов Юрий Николаевич

Разработка весового терминала(алгоритм взвешивания)

Сообщение Юрий См » 19 июн 2017, 12:36

Можно после каждого измерения АЦП, если нет ограничений...
Только последовательность действий:
Y:=0.0009*X+1.9556*Yib-0.9565*Yia;
Yib:=Yia;
Yia:=Y;
Частота среза фильтра зависит от частоты выборки АЦП


Sany
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 09 авг 2017, 14:50
Имя: Александр
Поблагодарили: 3 раза

Разработка весового терминала(алгоритм взвешивания)

Сообщение Sany » 09 авг 2017, 16:23

Фильтров применяемых для обработки сигналов много и у каждого есть и плюсы и минусы, и каждый под свою задачу. Так же, иногда, целесообразно применять комбинацию фильтров. Выбор того или иного фильтра требует анализа сигнала.
Общую информацию можете посмотреть http://teracompany.ru/signal-filter/
В части конкретных фильтров:
Скользящие http://teracompany.ru/signal-filter-sma/
Экспоненциальные http://teracompany.ru/signal-filter-ema/
Медианные http://teracompany.ru/signal-filter-mf-1/
и пр.