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

 
 
> Помогите с 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
Herz
сообщение Feb 23 2009, 12:20
Сообщение #8


Гуру
******

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



Цитата(777777 @ Feb 21 2009, 13:03) *
Нельзя при возбуждении переменным током, здесь понятно почему. А при постоянном можно, но не нужно.

Простите, но вот мне непонятно почему. С чего Вы взяли, что нельзя?
Вот же иллюстрация из приводившегося недавно документа от Cirrus Logic:
[attachment=30029:Clipboard01.jpg]
Или тут фильтры не те?
Цитата
Просто нет смысла - на фоне цифровых фильтров вы не заметите эффекта от простого фильтра первого порядка.

Кашу маслом не испортишь. biggrin.gif

Сообщение отредактировал Herz - Feb 23 2009, 12:20
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 24 2009, 06:45
Сообщение #9


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

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



Цитата(Herz @ Feb 23 2009, 15:20) *
Цитата
Нельзя при возбуждении переменным током, здесь понятно почему.
Простите, но вот мне непонятно почему. С чего Вы взяли, что нельзя?
Вот же иллюстрация из приводившегося недавно документа от Cirrus Logic:

Не знаю, что это за иллюстрация, но я думаю вы представляете как выглядит прямоугольный сигнал, прошедший через RC-цепочку. Ясно, что правильного результата от этого ждать не приходится.
Цитата(Herz @ Feb 23 2009, 15:20) *
Кашу маслом не испортишь. biggrin.gif

Не понимаю я такого довода. Если показания прыгают - то RC-цепочка не поможет, надо настраивать цифровые фильтры. Если же показания стабильны - то зачем она? Это - мертвому припарка.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 24 2009, 07:03
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(777777 @ Feb 24 2009, 09:45) *
Не понимаю я такого довода. Если показания прыгают - то RC-цепочка не поможет, надо настраивать цифровые фильтры. Если же показания стабильны - то зачем она? Это - мертвому припарка.

Это припарка еще живому. На входе могут быть всякие иглы и другой неудобоваримый для сигма-дельта мусор. Посмотрите на номиналы RC цепочки. Даже некоторый дрейф ее параметров должен лежать за границей точности. Для удовлетворения претензий самых строгих пуристов можно предложить такую же цепочку на опорное напряжение.
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 24 2009, 10:07
Сообщение #11


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

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



Цитата(Tanya @ Feb 24 2009, 10:03) *
Для удовлетворения претензий самых строгих пуристов можно предложить такую же цепочку на опорное напряжение.

Это, типа, чтобы одинаково исказить и сигнал, и опору? smile.gif

А что касается иголок, то они сигма-дельте не страшны. Согласно принципу его действия. Гораздо серьезнее искажения от таких цепочек.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 24 2009, 10:14
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(777777 @ Feb 24 2009, 13:07) *
Это, типа, чтобы одинаково исказить и сигнал, и опору? smile.gif

А что касается иголок, то они сигма-дельте не страшны. Согласно принципу его действия. Гораздо серьезнее искажения от таких цепочек.

Да, одинаково мало. Иголки, если большие, могут забить интегратор. Кроме того, Вы можете довольно редко ( раз в секунду) менять полярность - термоЭДС с которой Вы боретесь не успеет увернуться из сетей.
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 24 2009, 10:26
Сообщение #13


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

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



Цитата(Tanya @ Feb 24 2009, 13:14) *
Кроме того, Вы можете довольно редко ( раз в секунду) менять полярность - термоЭДС с которой Вы боретесь не успеет увернуться из сетей.

Это как, АЦП настроить на постоянку, а полярность периодически менять контроллером? Да еще учитывать это в результатах измерений? Это называется "закат солнца вручную". А какой великой цели мы достигнем? Еще раз повторяю: цифровые фильтры самого АЦП обеспечивают подавление в десятки а в некоторых точках и в сотни децибел, и лепить на входе простой фильтр первого порядка нет никакого смысла, особенно если учесть, что у того фильтра, что на схеме, частота среза в районе мегагерца.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Feb 24 2009, 11:03
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(777777 @ Feb 24 2009, 13:26) *
Это как, АЦП настроить на постоянку, а полярность периодически менять контроллером? Да еще учитывать это в результатах измерений? Это называется "закат солнца вручную". А какой великой цели мы достигнем? Еще раз повторяю: цифровые фильтры самого АЦП обеспечивают подавление в десятки а в некоторых точках и в сотни децибел, и лепить на входе простой фильтр первого порядка нет никакого смысла, особенно если учесть, что у того фильтра, что на схеме, частота среза в районе мегагерца.

Все Вы пишите правильно, но иногда хочется что-нибудь неправильное сделать. Шумы без модуляции питания меньше, а если есть уверенность, что распределение температур стационарное, то "неправильно" делать лучше. А если перед цифровым фильтром стоит аналоговый, то подавление перемножается ведь или складывается, если в децибелах, не так ли?
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 24 2009, 11:31
Сообщение #15


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

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



Цитата(Tanya @ Feb 24 2009, 14:03) *
Все Вы пишите правильно, но иногда хочется что-нибудь неправильное сделать.

Ээ-э... А что вы делаете сегодня вечером? smile.gif
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
|- - 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 Текстовая версия Сейчас: 21st July 2025 - 22:44
Рейтинг@Mail.ru


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