реклама на сайте
подробности

 
 
> Помогите с AD7730, АЦП для тензомоста
lordak
сообщение Feb 5 2009, 22:40
Сообщение #1





Группа: Участник
Сообщений: 7
Регистрация: 5-02-09
Пользователь №: 44 464



Разрабатываю АЦП для тензомоста с подключением к компу.
Подключил AD7730 к PIC-микроконтроллеру, считываю значения регистров - все отлично, значения соответствуют дефолтным в DataSheet. Калибрую, устанавлваю значения регистров - все нормально.
Когда начинаю считывать данные - данные считываются, они действительно пропорциональны приложенному весу, но через произвольные промежутки времени проскакивает какая-то ерунда! Одно или несколько неправильных значений.
В целом проблема аналогична http://www.telesys.ru/wwwboards/mcontrol/6...ges/36278.shtml
Пробовал ставить резисторы, положительного эффекта не достиг.
Данные считываю в режиме Single Conversion, 16 бит, мост запитывается постоянным напряжением. Если необходимо, выложу исходники программы.

Как выйти из этой ситуации? Помогите! Уже 4 дня сижу, ничего не могу поделать...

Сообщение отредактировал Tanya - Feb 6 2009, 05:20
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Herz
сообщение Feb 9 2009, 08:29
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Самое смешное, что у меня похожая проблема с тем же датчиком в чисто аналоговой системе поддержания веса. Измеряемый вес порядка 2 кг, точность поддержания - ок. 1 г. Так вот, некоторое время устройство работает нормально, потом вдруг так, как будто груз вдруг " полегчал" грамм на 100. Приходилось менять уставку. Разобраться, в чём дело, времени пока не было. Попробуйте убедиться, что "глючит" именно АЦП - подайте ему сигнал с чисто резистивного моста с подстройкой симметрии. Кстати, 15 см до датчика это всё-таки многовато. И для чего Вам питать его переменным током? Ну, импульсами ещё понятно...
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 19 2009, 10:40
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(Herz @ Feb 9 2009, 11:29) *
Кстати, 15 см до датчика это всё-таки многовато. И для чего Вам питать его переменным током? Ну, импульсами ещё понятно...

Не поверите (я и сам сомневался вначале), но я питаю тензодатчик через кабель длиной 100 метров, переменным током, да еще на диапазоне 10 мВ, тем не менее единица младщего разряда стоит как вкопаная. Мост, правда, низкоомный - 50 Ом, - запитывается транзисторами IRF7509:
Прикрепленное изображение

Причем опроное REFIN берется прямо с выходов транзисторов, т.е. не тянется отдельная пара проводов до датчика.

Скорее всего проблема из-за того, что вы используете Single Conversion - в этом случае output rate будет нерегулярным, да еще без FIR-фильтра результаты окажутся непредсказуемыми. Включите Continuous Conversion и считывайте данные по прерываниям. Еще прочитайте главу DIGITAL FILTERING и обратите внимание на Figure 12 - при output rate 50 Гц частоты 200, 400... Гц практически не подавляются, а это гармоники сетевой частоты, поэтому output rate нужно сдвинуть - у меня она 57 Гц.

P.S. А у вас кварц 4.9152 МГц?

P.P.S. И уж конечно никаких RC-цепочек на входе, цифровые фильтры микросхемы лучше их в тысячи раз, не говоря уже о том, что на переменном токе они недопустимы.

Цитата(Herz @ Feb 9 2009, 11:29) *
Попробуйте убедиться, что "глючит" именно АЦП - подайте ему сигнал с чисто резистивного моста с подстройкой симметрии.

При этом желательно не наколоться на эффект, связанный с его необычайной чувствительностью. Когда я подключил резистивный мост, показания начали страшно прыгать. Я долго пытался выяснить в чем дело - от настоящего датчика все работало нормально! - пока не догадался обернуть резисторы бумагой. Прыжки немедленно прекратились. Оказалось, что флуктуации воздуха вокруг резисторов меняют их сопротивление, а этот АЦП их легко чувствует - при диапазоне 10 мВ единица младшего разряда всего 0.3 мкВ!

З.Ы. А зачем подстройка симметрии? У 7730 все для этого есть внутри.

Сообщение отредактировал 777777 - Feb 19 2009, 10:32
Go to the top of the page
 
+Quote Post
Herz
сообщение Feb 20 2009, 17:31
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(777777 @ Feb 19 2009, 12:40) *
Не поверите (я и сам сомневался вначале), но я питаю тензодатчик через кабель длиной 100 метров, переменным током, да еще на диапазоне 10 мВ, тем не менее единица младщего разряда стоит как вкопаная. Мост, правда, низкоомный - 50 Ом, - запитывается транзисторами IRF7509:

Действительно, трудно поверить. Практически невозможно. biggrin.gif
Цитата
Причем опроное REFIN берется прямо с выходов транзисторов, т.е. не тянется отдельная пара проводов до датчика.

Скорее всего проблема из-за того, что вы используете Single Conversion - в этом случае output rate будет нерегулярным, да еще без FIR-фильтра результаты окажутся непредсказуемыми. Включите Continuous Conversion и считывайте данные по прерываниям. Еще прочитайте главу DIGITAL FILTERING и обратите внимание на Figure 12 - при output rate 50 Гц частоты 200, 400... Гц практически не подавляются, а это гармоники сетевой частоты, поэтому output rate нужно сдвинуть - у меня она 57 Гц.

Это не совсем так. На рис. 12 показана частотная характеристика для Output Data Rate 200 Гц. Кроме того, корень зла - the chopping of the input, если этот режим не использовать, всё не так страшно.
Цитата
P.P.S. И уж конечно никаких RC-цепочек на входе, цифровые фильтры микросхемы лучше их в тысячи раз, не говоря уже о том, что на переменном токе они недопустимы.

Позволю себе не согласиться. Антиалиазинговый фильтр на входе совсем не будет лишним. Он поможет избавиться от проблем, изложенных выше. К чему, к примеру оцифровывать всю полосу, чтобы затем иметь проблемы с неравномерностью подавления цифровым фильтром гармоник наводок?
Цитата
З.Ы. А зачем подстройка симметрии? У 7730 все для этого есть внутри.

Я имел в виду проверку АЦП.
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 21 2009, 08:14
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(Herz @ Feb 20 2009, 20:31) *
Цитата
Не поверите (я и сам сомневался вначале), но я питаю тензодатчик через кабель длиной 100 метров

Действительно, трудно поверить. Практически невозможно. biggrin.gif

Используется многожильный кабель, внутренние 4 жилы идут на мост, а остальные используются для экранирования - соединены с землей со стороны платы, а со стороны датчика брошены неподключенными (даже друг с другом)
Цитата(Herz @ Feb 20 2009, 20:31) *
Это не совсем так. На рис. 12 показана частотная характеристика для Output Data Rate 200 Гц.

Тем более - если output rate 50 Гц, но уже первую гармонику сетевой частоты он не подавит.
Цитата(Herz @ Feb 20 2009, 20:31) *
Кроме того, корень зла - the chopping of the input, если этот режим не использовать, всё не так страшно.

Во-первых, никакого зла я здесь не вижу. А во-вторых без chopping нельзя работать с возбуждением переменным током, а это очень полезная фича - позволяет компенсировать паразитные термопары, при малых напряжениях датчика это обязательно.
Цитата(Herz @ Feb 20 2009, 20:31) *
Позволю себе не согласиться. Антиалиазинговый фильтр на входе совсем не будет лишним. Он поможет избавиться от проблем, изложенных выше.

С этим успешно справляется sinc3-фильтр, см. Figure 10. В худшем случае (на частоте 1,5 output rate) он обеспечивает подавление 40 дБ, а на кратных частотах - бесконечное подавление. А rc-цепочка даст только 20 дБ/декаду. Не говоря уже о том, что с ней нельзя будет использовать возбуждение переменным током.

А вообще - как я понял, все проблемы с этим АЦП как правило связаны с уделением недостаточного внимания цифровому фильтру, а это в сигма-дельта АЦП - самый важный узел.
Go to the top of the page
 
+Quote Post
Herz
сообщение Feb 21 2009, 10:22
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(777777 @ Feb 21 2009, 10:14) *
Используется многожильный кабель, внутренние 4 жилы идут на мост, а остальные используются для экранирования - соединены с землей со стороны платы, а со стороны датчика брошены неподключенными (даже друг с другом)

А что за кабель? Сколько в нём всего жил?
Цитата
С этим успешно справляется sinc3-фильтр, см. Figure 10. В худшем случае (на частоте 1,5 output rate) он обеспечивает подавление 40 дБ, а на кратных частотах - бесконечное подавление. А rc-цепочка даст только 20 дБ/декаду. Не говоря уже о том, что с ней нельзя будет использовать возбуждение переменным током.

И всё-таки, если интересующая полоса лежит существенно ниже ODR, лишнее я бы подрезал. Ведь назначение того фильтра - подавление шумов дискретизации, их природа другая. А почему Вы считаете, что нельзя? Из-за некоторого затухания полезного сигнала?
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 21 2009, 11:03
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(Herz @ Feb 21 2009, 13:22) *
А что за кабель? Сколько в нём всего жил?

Точно не помню, но сильно больше 10-ти. Штук 12-16. Проще, конечно, использовать обычный экранированный, но у заказчика был такой, его и поставили.
Цитата(Herz @ Feb 21 2009, 13:22) *
И всё-таки, если интересующая полоса лежит существенно ниже ODR, лишнее я бы подрезал. Ведь назначение того фильтра - подавление шумов дискретизации, их природа другая. А почему Вы считаете, что нельзя? Из-за некоторого затухания полезного сигнала?

Нельзя при возбуждении переменным током, здесь понятно почему. А при постоянном можно, но не нужно. Просто нет смысла - на фоне цифровых фильтров вы не заметите эффекта от простого фильтра первого порядка.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- lordak   Помогите с AD7730   Feb 5 2009, 22:40
- - Tanya   Цитата(lordak @ Feb 6 2009, 01:40) Как вы...   Feb 6 2009, 04:57
- - xemul   Если включен FIR фильтр, то не забывайте проверять...   Feb 6 2009, 08:08
- - lordak   Огромное спасибо за советы!!! Дейст...   Feb 6 2009, 20:01
|- - Herz   Цитата(lordak @ Feb 6 2009, 22:01) Все-та...   Feb 6 2009, 21:16
- - lordak   Датчик от обычных бытовых весов за $12. Длина...   Feb 7 2009, 18:13
|- - xemul   Цитата(lordak @ Feb 7 2009, 21:13) Датчик...   Feb 7 2009, 19:29
- - lordak   Спасибо за ссылку. Этот документ уже когда-то чита...   Feb 8 2009, 19:06
|- - Herz   Цитата(777777 @ Feb 21 2009, 13:03) Нельз...   Feb 23 2009, 12:20
|- - 777777   Цитата(Herz @ Feb 23 2009, 15:20) ЦитатаН...   Feb 24 2009, 06:45
|- - Tanya   Цитата(777777 @ Feb 24 2009, 09:45) Не по...   Feb 24 2009, 07:03
|- - 777777   Цитата(Tanya @ Feb 24 2009, 10:03) Для уд...   Feb 24 2009, 10:07
|- - Tanya   Цитата(777777 @ Feb 24 2009, 13:07) Это, ...   Feb 24 2009, 10:14
|- - 777777   Цитата(Tanya @ Feb 24 2009, 13:14) Кроме ...   Feb 24 2009, 10:26
|- - Tanya   Цитата(777777 @ Feb 24 2009, 13:26) Это к...   Feb 24 2009, 11:03
|- - 777777   Цитата(Tanya @ Feb 24 2009, 14:03) Все Вы...   Feb 24 2009, 11:31
|- - Tanya   Цитата(777777 @ Feb 24 2009, 14:31) Ээ-э....   Feb 24 2009, 15:56
|- - 777777   Цитата(Tanya @ Feb 24 2009, 18:56) В этот...   Feb 24 2009, 18:54
- - Herz   Похоже, автор решил свою проблему. Интересно всё ж...   Feb 17 2009, 21:04
- - Vladimir_T   Проблемы с выбросами в отсчетах на AD7730 тоже ест...   Mar 21 2009, 16:11
|- - 777777   Цитата(Vladimir_T @ Mar 21 2009, 19:11) П...   Mar 23 2009, 07:12
- - lordak   Всем огромное спасибо за обсуждение! Давно на ...   Mar 22 2009, 23:13
- - lordak   P.S. Приношу извинения, что давно не заходил на фо...   Mar 22 2009, 23:13


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 14:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01489 секунд с 7
ELECTRONIX ©2004-2016