Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как избавиться от помех на входе АЦП?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Схемотехника
Eggorry
Добрый день!

Датчик положения на исполнительном устройстве - переменный резистор. Его положение цифруется при помощи АЦП. Провода длинные около 1.5 метров, да и вход АЦП имеет большое входное сопротивление. Из-за этого значение АЦП "дрожит". Сам исполнительный механизм весьма медленный. Понятно надо экранировать провода, но этого мало. Видится решение поставить на входе НЧ фильтр и уменьшить входное сопротивление АЦП. С первым все понятно, как сделать второе или я вообще не туда смотрю?

З.Ы. Оригинал устройства старый японский (плат от него уже не сохранилось - подсмотреть не где). И еще вопрос какие переменные резисторы можно использовать в качестве датчиков, чтобы они не стерлись через месяц - два? Возможно есть что-то специализированное. Родному японскому резистору сносу нет, есть подозрение что теперешние китайские совсем не такие.
rezident
Для уменьшения влияния помех на сигнал, передаваемый по длинной линии связи, по ней передают ток, а не напряжение. Обычно делают локальный (непосредственно возле переменного резистора) преобразователь сопротивление->ток. Соответственно в удаленном "измерителе" на входе АЦП ставят шунт (для преобразования ток-> напряжение) и измеряют на нем уже значение напряжение. В результате простейшее масштабирование дает значение угла поворота движка переменного резистора. Правда при этом нужно учитывать еще и синфазную составляющую помехи, то бишь правильно запитать датчик и снять сигнал с него. Опять же типичное решение - изолированная токовая петля 4-20мА.
Eggorry
Приблизительно понятно, спасибо. Но все же есть два обстоятельства: не хотелось бы делать дополнительные платы и монтировать их на исполнительном механизме, да и у японце там ни чего не было (осталась проводка, там провода с резистора идут сразу к плате).
Herz
Провода наверняка можно не экранировать, достаточно свить. Рекомендации просты. Резистор выбрать минимально достаточного сопротивления или поставить непосредственно рядом с ним повторитель. А на вход АЦП фильтр (конденсатор), конечно. Ну, и усреднение.
manul78
Цитата(Eggorry @ Aug 16 2009, 19:30) *
Приблизительно понятно, спасибо. Но все же есть два обстоятельства: не хотелось бы делать дополнительные платы и монтировать их на исполнительном механизме, да и у японце там ни чего не было (осталась проводка, там провода с резистора идут сразу к плате).


Попробуйте "цифровой" фильтр. Т.е. программный. Делаем например 50 выборок с АЦП, суммируем
результат, затем делим его на количество выборок. В данном случае 50. Получаем среднее арифметическое. Это и есть примитивный "цифровой" фильтр.
Удачи. Я таким "макаром " давно убиваю помехи с термодатчиков и бесконтактных датчиков положения.
Designer56
Цитата(Eggorry @ Aug 16 2009, 20:53) *
Добрый день!

Датчик положения на исполнительном устройстве - переменный резистор. Его положение цифруется при помощи АЦП. Провода длинные около 1.5 метров, да и вход АЦП имеет большое входное сопротивление. Из-за этого значение АЦП "дрожит". Сам исполнительный механизм весьма медленный. Понятно надо экранировать провода, но этого мало. Видится решение поставить на входе НЧ фильтр и уменьшить входное сопротивление АЦП. С первым все понятно, как сделать второе или я вообще не туда смотрю?

З.Ы. Оригинал устройства старый японский (плат от него уже не сохранилось - подсмотреть не где). И еще вопрос какие переменные резисторы можно использовать в качестве датчиков, чтобы они не стерлись через месяц - два? Возможно есть что-то специализированное. Родному японскому резистору сносу нет, есть подозрение что теперешние китайские совсем не такие.

посмотрите здесь-
http://www.resistor.ru/page.php?pageId=5&topicId=126
Но это- дорого. Даже очень дорого. Но износоустойчиво.
А вообще, ЭТа проблема решается, в т. ч. так: На входе- дифусилитель, один вход которого (обычно- "-") подключается непосредственно к "земляному" выводу потенциометра, а другой "+" - непосредственно к его движку. 4- х проводкой, свить отдельно пары "+", "-" входов ДУ и питания датчика. Т. е. получается 2 витые пары, их обе- в экран, который заземлить только на входе ДУ. После ДУ- ФНЧ, лучше- активный, чтобы подключать его к АЦП непосредственно. И, кстати, если делать ДУ на одном ОУ, то и в цепи ОС включить конденсаторы для первичной фильтрации помех.
Tanya
Цитата(Herz @ Aug 16 2009, 19:36) *
Провода наверняка можно не экранировать, достаточно свить. Рекомендации просты. Резистор выбрать минимально достаточного сопротивления или поставить непосредственно рядом с ним повторитель. А на вход АЦП фильтр (конденсатор), конечно. Ну, и усреднение.

А свитые провода пропустить несколько раз через ферритовое кольцо. Дальше - дифференциальный усилитель.
Или усилитель рядом с датчиком. Потом - коаксиальный кабель, тоже можно с кольцом.
Или контроллер мелкий рядом с датчиком.
=AK=
Цитата(Eggorry @ Aug 17 2009, 00:23) *
поставить на входе НЧ фильтр и уменьшить входное сопротивление АЦП. С первым все понятно, как сделать второе или я вообще не туда смотрю?

Не туда. Не надо уменьшать входное сопротивление АЦП. Нужно уменьшать выходное сопротивление датчика.

Цитата(manul78 @ Aug 17 2009, 01:10) *
Делаем например 50 выборок с АЦП, суммируем
результат, затем делим его на количество выборок. В данном случае 50. Получаем среднее арифметическое. Это и есть примитивный "цифровой" фильтр.

Можно проще. Первое измеренное значение Vx умножаем на 64 (сдвигом влево на 6 разрядов) и заносим в текущий результат Res.

Res = Vx*64

Все последующие результаты вычисляем по такой формуле:

Res = Res - (Res/64) + Vx

Деление делается при помощи сдвига вправо на 6 разрядов. Коэффициент 64 я выбрал произвольно, для иллюстрации.
Dog Pawlowa
Цитата(=AK= @ Aug 17 2009, 01:07) *
Можно проще...

Вот так и не разобрался почему, но банальное усреднение кольцевого буфера дает лучше результат.
MaslovVG
Цитата(Dog Pawlowa @ Aug 17 2009, 02:36) *
Вот так и не разобрался почему, но банальное усреднение кольцевого буфера дает лучше результат.

В формуле ошибка
Res = Res - (Res/64) + Vx/64
=AK=
Цитата(MaslovVG @ Aug 17 2009, 13:29) *
В формуле ошибка

Вы невнимательны. Вес результата в 64 раза больше, чем вес одного измерения.
kamil_yaminov
Цитата(=AK= @ Aug 17 2009, 08:07) *
Вы невнимательны. Вес результата в 64 раза больше, чем вес одного измерения.

Ага, лучше писать так:
Код
Res = Res - Res/64 + In;
Out = Res/64;
Herz
Цитата(Tanya @ Aug 16 2009, 18:06) *
А свитые провода пропустить несколько раз через ферритовое кольцо.

Да нет, думаю, это лишнее - не тот частотный диапазон. Разве что импульсные помехи...
Dog Pawlowa
Цитата(MaslovVG @ Aug 17 2009, 06:59) *
В формуле ошибка

А я на формулу и не смотрел, сам принцип имеет отличия.
АНТОН КОЗЛОВ
Поставьте инструментальный (дифференциальный) усилитель и дело с концом. Включайте по 4-хпроводной схеме (питание датчка отдельно, сигнальные - отдельно - на дифференциальные входы).
Tanya
Цитата(Herz @ Aug 18 2009, 02:21) *
Да нет, думаю, это лишнее - не тот частотный диапазон. Разве что импульсные помехи...

Бывает, что помогает, когда ВЧ синфазная большая.
=AK=
Цитата(Dog Pawlowa @ Aug 17 2009, 08:06) *
Вот так и не разобрался почему, но банальное усреднение кольцевого буфера дает лучше результат.

В результате усреднения буфера фиксированной длины получается КИХ-фильтр, имеющий АЧХ вида |cos(f)| Если длительность заполнения буфера равна 20 мс, то этот фильтр полностью задавит 50 Гц и все нечетные гармоники. А то, что я предлагаю - это БИХ-фильтр, у которого довольно гладкая АЧХ.
VladimirYU
Цитата(=AK= @ Aug 19 2009, 02:33) *
В результате усреднения буфера фиксированной длины получается КИХ-фильтр, имеющий АЧХ вида |cos(f)| Если длительность заполнения буфера равна 20 мс, то этот фильтр полностью задавит 50 Гц и все нечетные гармоники. А то, что я предлагаю - это БИХ-фильтр, у которого довольно гладкая АЧХ.

А может обычный сигма-дельта спасет, если конечно устроит его быстродействие?
SasaVitebsk
Цитата(=AK= @ Aug 19 2009, 01:33) *
В результате усреднения буфера фиксированной длины получается КИХ-фильтр, имеющий АЧХ вида |cos(f)| Если длительность заполнения буфера равна 20 мс, то этот фильтр полностью задавит 50 Гц и все нечетные гармоники. А то, что я предлагаю - это БИХ-фильтр, у которого довольно гладкая АЧХ.

Я бы даже так сказал - применение фильтра с нужными характеристиками 2-5 порядка займёт несколько строчек на Си. Плюс займёт ОЗУ меньше чем буфер для усреднения. Время обработки, даже для AVR, будет незначительно выше.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.