|
Помогите с AD7730, АЦП для тензомоста |
|
|
|
Feb 5 2009, 22:40
|
Группа: Участник
Сообщений: 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
|
|
|
|
|
 |
Ответов
|
Feb 9 2009, 08:29
|

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

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

Профессионал
    
Группа: Участник
Сообщений: 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
|
|
|
|
|
Feb 20 2009, 17:31
|

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

|
Цитата(777777 @ Feb 19 2009, 12:40)  Не поверите (я и сам сомневался вначале), но я питаю тензодатчик через кабель длиной 100 метров, переменным током, да еще на диапазоне 10 мВ, тем не менее единица младщего разряда стоит как вкопаная. Мост, правда, низкоомный - 50 Ом, - запитывается транзисторами IRF7509: Действительно, трудно поверить. Практически невозможно. Цитата Причем опроное 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 все для этого есть внутри. Я имел в виду проверку АЦП.
|
|
|
|
|
Feb 21 2009, 08:14
|

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

|
Цитата(Herz @ Feb 20 2009, 20:31)  Цитата Не поверите (я и сам сомневался вначале), но я питаю тензодатчик через кабель длиной 100 метров Действительно, трудно поверить. Практически невозможно. Используется многожильный кабель, внутренние 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 дБ/декаду. Не говоря уже о том, что с ней нельзя будет использовать возбуждение переменным током. А вообще - как я понял, все проблемы с этим АЦП как правило связаны с уделением недостаточного внимания цифровому фильтру, а это в сигма-дельта АЦП - самый важный узел.
|
|
|
|
|
Feb 21 2009, 10:22
|

Гуру
     
Группа: Модераторы
Сообщений: 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, лишнее я бы подрезал. Ведь назначение того фильтра - подавление шумов дискретизации, их природа другая. А почему Вы считаете, что нельзя? Из-за некоторого затухания полезного сигнала?
|
|
|
|
|
Feb 21 2009, 11:03
|

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

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

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

|
Цитата(777777 @ Feb 21 2009, 13:03)  Нельзя при возбуждении переменным током, здесь понятно почему. А при постоянном можно, но не нужно. Простите, но вот мне непонятно почему. С чего Вы взяли, что нельзя? Вот же иллюстрация из приводившегося недавно документа от Cirrus Logic: [attachment=30029:Clipboard01.jpg] Или тут фильтры не те? Цитата Просто нет смысла - на фоне цифровых фильтров вы не заметите эффекта от простого фильтра первого порядка. Кашу маслом не испортишь.
Сообщение отредактировал Herz - Feb 23 2009, 12:20
|
|
|
|
|
Feb 24 2009, 06:45
|

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

|
Цитата(Herz @ Feb 23 2009, 15:20)  Цитата Нельзя при возбуждении переменным током, здесь понятно почему. Простите, но вот мне непонятно почему. С чего Вы взяли, что нельзя? Вот же иллюстрация из приводившегося недавно документа от Cirrus Logic: Не знаю, что это за иллюстрация, но я думаю вы представляете как выглядит прямоугольный сигнал, прошедший через RC-цепочку. Ясно, что правильного результата от этого ждать не приходится. Цитата(Herz @ Feb 23 2009, 15:20)  Кашу маслом не испортишь.  Не понимаю я такого довода. Если показания прыгают - то RC-цепочка не поможет, надо настраивать цифровые фильтры. Если же показания стабильны - то зачем она? Это - мертвому припарка.
|
|
|
|
|
Feb 24 2009, 10:14
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(777777 @ Feb 24 2009, 13:07)  Это, типа, чтобы одинаково исказить и сигнал, и опору? А что касается иголок, то они сигма-дельте не страшны. Согласно принципу его действия. Гораздо серьезнее искажения от таких цепочек. Да, одинаково мало. Иголки, если большие, могут забить интегратор. Кроме того, Вы можете довольно редко ( раз в секунду) менять полярность - термоЭДС с которой Вы боретесь не успеет увернуться из сетей.
|
|
|
|
|
Feb 24 2009, 10:26
|

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

|
Цитата(Tanya @ Feb 24 2009, 13:14)  Кроме того, Вы можете довольно редко ( раз в секунду) менять полярность - термоЭДС с которой Вы боретесь не успеет увернуться из сетей. Это как, АЦП настроить на постоянку, а полярность периодически менять контроллером? Да еще учитывать это в результатах измерений? Это называется "закат солнца вручную". А какой великой цели мы достигнем? Еще раз повторяю: цифровые фильтры самого АЦП обеспечивают подавление в десятки а в некоторых точках и в сотни децибел, и лепить на входе простой фильтр первого порядка нет никакого смысла, особенно если учесть, что у того фильтра, что на схеме, частота среза в районе мегагерца.
|
|
|
|
|
Feb 24 2009, 11:03
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(777777 @ Feb 24 2009, 13:26)  Это как, АЦП настроить на постоянку, а полярность периодически менять контроллером? Да еще учитывать это в результатах измерений? Это называется "закат солнца вручную". А какой великой цели мы достигнем? Еще раз повторяю: цифровые фильтры самого АЦП обеспечивают подавление в десятки а в некоторых точках и в сотни децибел, и лепить на входе простой фильтр первого порядка нет никакого смысла, особенно если учесть, что у того фильтра, что на схеме, частота среза в районе мегагерца. Все Вы пишите правильно, но иногда хочется что-нибудь неправильное сделать. Шумы без модуляции питания меньше, а если есть уверенность, что распределение температур стационарное, то "неправильно" делать лучше. А если перед цифровым фильтром стоит аналоговый, то подавление перемножается ведь или складывается, если в децибелах, не так ли?
|
|
|
|
|
Feb 24 2009, 15:56
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(777777 @ Feb 24 2009, 14:31)  Ээ-э... А что вы делаете сегодня вечером?  Если Вы пишите вы не с заглавной буквы. то это обращение ко всем. Поэтому отвечу. В этот чудесный вечерний момент читаю Ваш флуд, а может, и флейм. Читаю и вижу, что в тот же момент пишу тоже флейм, а может,... и флуд. Намек Вам.
|
|
|
|
Сообщений в этой теме
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 Похоже, автор решил свою проблему. Интересно всё ж... 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|