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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Помогите с 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
Tanya
сообщение Feb 6 2009, 04:57
Сообщение #2


Гуру
******

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



Цитата(lordak @ Feb 6 2009, 01:40) *
Как выйти из этой ситуации? Помогите! Уже 4 дня сижу, ничего не могу поделать...

Что тут можно посоветовать - локализовать. Мост заменить сначала. Убрать длинные провода - наводки. Продолжать трясти и думать. Мобильник еще...
И компьютер. И попробуйте догадаться, где происходит возмущение - в аналоговой части или при передаче уже.
Go to the top of the page
 
+Quote Post
xemul
сообщение Feb 6 2009, 08:08
Сообщение #3



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Если включен FIR фильтр, то не забывайте проверять бит Steady в регистре статуса. Для проверки поиграйте с битами Skip и Fast в Filter Register.
Возмутителем спокойствия (целиком согласен с Таней) легко может быть мобильник.
Go to the top of the page
 
+Quote Post
lordak
сообщение Feb 6 2009, 20:01
Сообщение #4





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



Огромное спасибо за советы!!! a14.gif Действительно, отключение FIR фильтра помогло. После отключения глюки сразу же прекратились. А в даташите этот момент совершенно не отражен, и в интернете тоже!

Теперь буду разбираться с проверкой Steady и реализацией Сontinuous Mode. Еще в планах реализовать запитку переменным током, если хватит ума на это smile.gif Счас пытаюсь найти подходящие полевики. Все-таки точность желает лучшего...
Go to the top of the page
 
+Quote Post
Herz
сообщение Feb 6 2009, 21:16
Сообщение #5


Гуру
******

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



Цитата(lordak @ Feb 6 2009, 22:01) *
Все-таки точность желает лучшего...

А конкретнее? И какой датчик используете? Какая длина проводов к мосту?
Go to the top of the page
 
+Quote Post
lordak
сообщение Feb 7 2009, 18:13
Сообщение #6





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



Датчик от обычных бытовых весов за $12. Длина проводов минимальная, около 15 см. Но несмотря на это китайцы получили на нем 5 тыс отсчетов от 0 до 5 кг. Хочу повторить их подвиг, но пока не получается
Go to the top of the page
 
+Quote Post
xemul
сообщение Feb 7 2009, 19:29
Сообщение #7



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(lordak @ Feb 7 2009, 21:13) *
Датчик от обычных бытовых весов за $12. Длина проводов минимальная, около 15 см. Но несмотря на это китайцы получили на нем 5 тыс отсчетов от 0 до 5 кг. Хочу повторить их подвиг, но пока не получается

Странно. 12-13 значащих битов на 7730 получаются без особых ухищрений. А что китайцы говорят про точность этого прибора?smile.gif
Чтобы не пересказывать, позволю себе еще раз сослаться на "МЕТОДЫ практического конструирования при нормировании сигналов c датчиков".
По-моему, там и про импульсное питание моста было.
Go to the top of the page
 
+Quote Post
lordak
сообщение Feb 8 2009, 19:06
Сообщение #8





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



Спасибо за ссылку. Этот документ уже когда-то читал. На выходных попробовал реализовать запитку переменным напряжением, получилось, но результат отвратительный - вместо стабильных данных какая-то модулированная синусоида) Использовал 74HC04A и транзисторы IRFD9110 и IRFD110, наверно не подходящие для этой задачи.
По поводу китайских весов - поставил на вход RC-фильтры и действительно получил с их тензодатчика 14 битов, при включенном FIR-фильтре. Но, к сожалению, глюки так и не удалось устранить - привожу пример:
...
16834.
16834.
16834.
16834.
16834.
16834.
16834.
16832.
16833.
16834.
16834.
16834.
16834.
16834.
16833.
16832.
16832.
16832.
16833.
16832.
16833.
16833.
16924.
17580.
19408.
22303.
24924.
25564.
23766.
20779.
18326.
17138.
16848.
16833.
16832.
16832.
16832.
16833.
16833.
16832.
16832.
16832.
...
Если FIR-фильтр отключить, эти глюки пропадают, но появляются новые - через некоторое время происходят скачки, такое впечатление что меняется значение DAC-регистра. Т.е. например минуту АЦП выдает 10000, потом происходит скачек и начинает выдавать 20000, потом через минуту возвращается обратно, и т.д.
Получается куда не ткнись - везде глюки sad.gif
Все операции провожу в режиме Single Conversion Mode. В Continuous Conversion Mode вобще ничего считать не получилось.
Бит Steady попробовал проверять, но в Single Conversion это приводит к невозможности после этого считать данные вообще. Получаю только 0 или FFFF. В даташите по поводу Single Conversion пишут: The result of the single conversion on the AD7730 in this mode will not be provided until the full settling time of the filter has elapsed.
В Continuous Conversion если начинаю считывать Status Register, получаю набор произвольных значений... Предполагаю что это вообще не значения этого регистра, а нечто другое)
В общем уже устал гадать, что же такое с моим АЦП. Толи я тупой, толи оно слишком сложное)
По поводу радиопомех - повыносил из комнаты все радиотелефоны, поотключал вайфаи, блютузы - никакого эффекта. Установить корреляцию каких-то внешних явлений с этими глюками не удается...
Проводил эксперимент на 2 разных экземплярах АЦП – результат абсолютно одинаков.
Требуется ли какая-то обвязка между ножками контроллера и AD7730? Есть ли какие-то ограничения на длину провода между AD7730 и контроллером - сейчас сделано 60 см, может стоит укоротить? Может ли это как-то влиять на корректную работу?...
Go to the top of the page
 
+Quote Post
Herz
сообщение Feb 9 2009, 08:29
Сообщение #9


Гуру
******

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



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


Гуру
******

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



Похоже, автор решил свою проблему. Интересно всё же было бы узнать, в чём дело было. Подробности не сообщите?
Go to the top of the page
 
+Quote Post
777777
сообщение Feb 19 2009, 10:40
Сообщение #11


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

Группа: Участник
Сообщений: 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
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 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
Сообщение #13


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

Группа: Участник
Сообщений: 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
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 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
Сообщение #15


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

Группа: Участник
Сообщений: 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

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

 


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


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