Перейти к содержанию
    

Использование АЦП AD7715 совместно с мультиплексором

Возникла необходимость измерять 8 каналов напряжения с помощью AD7715. Поставили перед ним 8-и канальный аналоговый мультиплексор. Управляет всем этим Мега128. Далее измерения ведутся по следующему алгоритму:

 

1. У АЦП выставляется бит FSYNC (выключает фильтр)

2. Переключаем канал мультиплексора.

3. У АЦП снимаем бит FSYNC (включаем фильтр).

4. Ждем готовности АЦП (бит DRDY)

5. Опрашиваем регистр данных

7. переход к п.1

 

Если переключаем каналы мультиплексора медленно (примерно раз в секунду), то данные получаются стабильные и соответствующие действительности.

При увеличении частоты переключения каналов данные начинают "уплывать" от истинных значений (частота обновления АЦП выставлена 200Гц, что существенно больше частоты опроса).

Каким образом правильно осуществлять опрос АЦП и переключение каналов в данном случае?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не забывайте, что цифровой фильтр требует времени для установления достоверных данных. Это естественно, так как для фильтрации нужно иметь несколько результатов. Вот что говорится в документации по этому поводу:

Since the AD7715 contains this on-chip, low-pass filtering, there is a settling time associated with step function inputs and data on the output will be invalid after a step change until the settling time has elapsed. The settling time depends upon the output rate chosen for the filter. The settling time of the filter to a full-scale step input can be up 4 times the output data period. For a synchronized step input (using the FSYNC function), the settling time is 3 times the output data period.

Так что первые 3-4 результата смело пропускайте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не забывайте, что цифровой фильтр требует времени для установления достоверных данных. Это естественно, так как для фильтрации нужно иметь несколько результатов. Вот что говорится в документации по этому поводу:

Так что первые 3-4 результата смело пропускайте.

 

Пропускаю. Не помогает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как обстоят дела с согласование входных сопротивлений. Т.е какое сопротивление у источников сигналов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что за мультиплексор и как часто переключается?

Мультиплексор MPC507AU. Но дело не в нем, т.к. вижу на осциллографе, что в момент измерения на входе АЦП правильное напряжение.

 

А как обстоят дела с согласование входных сопротивлений. Т.е какое сопротивление у источников сигналов.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А на сколько уплывают значения?

Зависит от разницы напряжений на соседних каналах мультиплексора

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зависит от разницы напряжений на соседних каналах мультиплексора

Это как раз логично. Так как часто переключаете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В результате экспериментов выяснилось, что нормальные значения напряжения получаются, только если у АЦП установлена частота измерений 20-25Гц. При переключении АЦП на более высокую частоту (100 или 200Гц) получаемые значения начинают сильно плавать. Интересно, есть ли это особенность конкретного АЦП или это так у всех?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, если Sample Rate выше 50 Гц, отсутствие режекции сетевого может приводить к "плавающим" результатам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, если Sample Rate выше 50 Гц, отсутствие режекции сетевого может приводить к "плавающим" результатам.

Режекции сетевого нет. Есть только ВЧ-фильтр. А как ее лучше реализовать?

Изменено пользователем almat

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Режекции сетевого нет. Есть только ВЧ-фильтр. А как ее лучше реализовать?

Дык, я имею в виду цифровой фильтрацией самого АЦП. Согласовать частоту тактирования, настройки фильтра и sample rate. В документации об этом говорится. Правда, может не хватить быстродействия для оцифровки восьми каналов:

The settling-time of the filter to a full-scale step input change is worst case 4 ´ 1/(output data rate). For

example, with the first filter notch at 50ÊHz, the settling time of the filter to a full-scale step input change is

80Êms max. If the first notch is at 500ÊHz, the settling time of the filter to a full-scale input step is 8Êms max.

This settling-time can be reduced to 3 ´ 1/(output data rate) by synchronizing the step input change to a

reset of the digital filter.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык, я имею в виду цифровой фильтрацией самого АЦП. Согласовать частоту тактирования, настройки фильтра и sample rate. В документации об этом говорится. Правда, может не хватить быстродействия для оцифровки восьми каналов:

Именно так мы и сделали, когда все заработало. Но опорная частота АЦП у нас 1МГц. В этом режиме встроенные фильтры нормально работают только с sample rate 20 и 25 Гц. В принципе, такой частоты нам сейчас достаточно, т.к. имеем дело с медлено меняющимися величинами. Но, в перспективе, такая проблема может возникнуть, поэтому и пытались переключаться на 100 и 200Гц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...