Датчик 4-20, разнобой в показаниях
- Войдите на сайт для отправки комментариев
Вс, 11/02/2018 - 14:47
Привет!
Датчик 4-20ма уровня/давления подключён через токовую петлю к ардуине. Ток с датчика преобразую в напряжение через резистор, завожу в аналоговый вход на ардуинке, там уже, через map(), получаю сантиметры. При проверке, опрашивается 5 раз с частотой около 300 мс и выдаёт результаты показаний в виде 144/144/144/144/144 см. Это пример идеальных показаний (и они случаются). Тем не менее, часто, показания могут гулять туда-сюда, иногда на несколько сантиметров, типа 146/141/139/144/143. Видимо пляшет вместе с напряжением. Как правильно побороть эту проблему?
Эта проблема называется "шум".
Существуют как программные, так и аппаратные средства борьбы с ним (откуда ясно, что одного универсального способа не существует).
Наиболее распространенный способ борьбы - фильтр нижних частот.
Самый простой аппаратный способ - зашунтировать измерительный вход конденсатором, но без схемы говорить об этом беспредметно.
Программный, естественно, - тот или иной способ усреднения показаний.
Самый простой аппаратный способ - зашунтировать измерительный вход конденсатором, но без схемы говорить об этом беспредметно.
Спасибо за отклик! Программный способ - понятно.
Схему набросал (не знаю, правильно ли прикрепится), резисторы на 330 и 1К (~250).
Ну, вообще-то это не полная схеиа, и об особенностях реализации недостающих частей остается только догадываться...
Но в целом ясно, что измеряемая цепь и Ардуино питаются от разных источников питания. Соответственно, все флуктуации каждого из источников питания сказываются на результатах.
Для начала я бы поставил на вход RC-цепь с постоянной времени порядка интервала между измерениями, например, 1 мкФ и 240 кОм.
Либо просто параллельно резистороам поставить 1000 мкФ.
Спасибо за варианты, буду пробовать.
Если кто-то будет искать, вот тут хороший топик по программным решениям: http://arduino.ru/forum/programmirovanie/usrednenie-znachenii-s-potentsi...