roboforum.ru

Технический форум по робототехнике.

 

AD7705 не помнит свои регистры.

Резисторы, транзисторы, конденсаторы, микросборки, чип компоненты ...
Вопросы согласования управляющих модулей с периферией.

AD7705 не помнит свои регистры.

Сообщение NorthStar » 03 дек 2011, 04:16

Добрый день!
Вопрос такой:
Пытаюсь разобраться с AD7705 и выяснилась проблема, что после прописывания всех настроечных регистров, они очень быстро сбрасываются на какие-то бредовые значения.
Если вызывать процедуру init в цикле программы постоянно перед чтением очередного значения, то все работает, а если настройки делать в setup, то читать-то он читает, но настройки при этом случайные. (благо микросхема позволяет читать настроечные регистры и это удалось выяснить)
В общем-то меня и так устроит, но как-то это криво ((
Перед чтением естественно пишу в комуникационный регистр. Все четко по даташиту.
Если кто работал с этой микросхемой, то подскажите - в чем может быть дело?
Может микросхема кривая и надо новую купить?
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение NorthStar » 03 дек 2011, 22:26

В итоге удалось все более менее заставить работать.
Пришлось запись в регистры делать с проверкой, те писать пока не запишется и если 100 раз не получилось, то ресет делать.
Если кому нужен исходник, то могу дать.
Похоже проблема в том, что все на макетной плате собрано если платку подвигать, то все сбрасывается ((
Буду делать нормальную плату, может эти танцы с бубном и не нужны будут.

Добавлено спустя 3 часа 34 минуты 41 секунду:
Хотел еще один момент уточнить - к микросхеме подключен кварц 2.4576 Мгц. Везде пишут, что конденцаторы надо выбирать по даташиту к кварцу, но у меня нет к моему даташита.
Я поставил 47pF. Это нормально или надо что-то поменьше поставить?
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение Radist » 04 дек 2011, 19:57

Работаю с этим АЦП уже несколько лет, про регистры не скажу - программист писал, но у него как-то же получилось. Кондеры ставлю 22-30 пФ, 47 не пробовал. Кварц такой же. И еще один совет - вывод DRDY лучше повесить на вход внешнего прерывания.
Аватара пользователя
Radist
 
Сообщения: 2233
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: AD7705 не помнит свои регистры.

Сообщение NorthStar » 05 дек 2011, 19:07

Да мне кажется микросхема мне косая попалась. DRDY я просто проверяю перед чтением.
Все работает после танцев с бубном, те при инициализации в регистры пишу в цикле пока не удастся прочитать то же самое, а перед чтением проверяю не слетели ли регистры. После этого работает как часы. Заказал еще 2 таких микрухи - проверю свою догадку. Возможно пока схему собирал где-то статикой микруху и повредил (
Я даже полностью разобрал схему и собрал на другой макетной плате - всё то же самое.
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение boez » 06 дек 2011, 12:54

Блокировочные кондеры по питанию 0.1 мкф с короткими ножками на AD и на МК стоят? Кварц попробуй вообще без кондеров.
boez
 
Сообщения: 1974
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: AD7705 не помнит свои регистры.

Сообщение NorthStar » 06 дек 2011, 17:19

Пробовал кварц без конденсаторов - все то же самое.
А про блокировочные - не понял - между чем и чем они должны быть?
Стоят по питанию 2 шт - один 0,1 мкФ другой 10мкФ.
Еще схема собрана на проводках по 10 см длинной, может когда на плате все будет, то станет лучше?
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение boez » 06 дек 2011, 19:00

NorthStar писал(а):А про блокировочные - не понял - между чем и чем они должны быть?

По 0.1 должны стоять и на МК, и на AD, между землей и питанием и с максимально короткими выводами - т.е. как можно ближе к соответствующему чипу. Они-то как раз и уменьшат влияние "проводков по 10 см". Но это только одна из версий, мало ли что там у тебя еще может быть...
boez
 
Сообщения: 1974
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: AD7705 не помнит свои регистры.

Сообщение NorthStar » 17 янв 2012, 12:17

Заметил еще одну вещь - если за жгут проводов между ардуино и AD7705 взяться рукой, то ошибки перестают появляться.
Попробовал совсем короткие провода - где-то 3см - лучше не стало - ошибки всеравно идут. В общем устройство работает - ошибка бывает где-то 1 на 1000 изменрений и ее легко найти и исключить, так как служебные регистры сбрасываются, но хотелось бы на будущее понять - что не так.
Может нужно как-то экранировать эти провода? Или феррит какой поставить? Или конденсатор какой-нибудь супер мощный.
Я даже пробовал от отдельного стабилизатора питать AD, и провод между AD и стабилизатором очень короткий был, но всеравно есть ошибки.
Замена самой микросхемы на новую так же не помогла.
Может еще какие советы будут?
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение NorthStar » 01 фев 2012, 00:29

Добрый день!
Всетаки очень хотел бы вернуться к обсуждению этого вопроса. Очень уж хочется его решить.
Во вложении схема в Eagle - эта плата была собрана и в общем работает, но частенько приходится делать ей Reset. Из наблюдений - явно помогает, если держаться руками за жгут проводов, которые идут от платы. От длины провода это не зависит - пробовал делать плате отдельное питание, через вот такую платку http://www.sparkfun.com/products/114
Там провод вообще пара сантиметров был и всеравно то же самое. (земля с МК естественно общая)
Так же проблема была и на предварительно собраной плате на Breadboard. Там использовался совершенно другой набор деталей. В общей сложности я пробовал 3 разные микросхемы - со всеми тот же резутьтат.
Прошу еще раз посмотреть на схему - что я не учел, что такие проблемы появляются? Может порекомендуете какой-нибудь более надежный, популярный и отлаженный модуль для AD 16 бит и 24 бита?
Вложения
weight.rar
(56.12 КиБ) Скачиваний: 0
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение Radist » 01 фев 2012, 03:43

А у меня игла нет, хорошо бы схему показать как картинку. А вообще-то я что-то припоминаю такое, было. В результате я АЦП запитал от пина МК. То есть кроме обычного ресета еще и ресет выключением пользовали.
Аватара пользователя
Radist
 
Сообщения: 2233
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: AD7705 не помнит свои регистры.

Сообщение NorthStar » 01 фев 2012, 11:00

Скриншотик со схемой вечером сделаю. Там то ли ферит нужен, то ли с источника опорного напряжения ее запитать, то ли еще конденсаторов понаставить ((
Явно с питанием что-то. ((
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение NorthStar » 02 фев 2012, 00:56

Вот схема. Разъем 4 штырька идет на тензодатчик, разъем 7 штырьков - на МК. Там соответственно SPI + питание + ресет + Data Ready.
Сегодня в очередной раз расстроился из-за этой дурацкой микрухи и решил переделать всю схему на AD другого производителя. Очень жду рекомендаций - какого и какую AD (16 бит). Сделаю теперь регулятор на плате и плату 2-х стороннюю чтоб с разводкой не мучиться. Написал письмо по этому вопросу в Analog Devices, но они врятли помогут ((
Особенно обидно, что все работает хорошо, если я держу за провода рукой, ну бред да и только.
Вложения
схема_весы.jpg
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение Radist » 02 фев 2012, 03:51

Ну вот, теперь все понятно. Схема не по даташиту (под рукой его нет, пишу по памяти).
1. Номинал кварца надо 2,45..МГц - на схеме не указано, просто уточняю
2. 9 ножка, опорник, должен быть 2,5В, причем не абы какие, а от хорошего опорника, мы ставим REF192. АЦП не R2R. Это большая ошибка
3. На диф вход не нужен электролит, по обоим проводам пустите RC (100 Ом 0,01 мкФ)
4. Кондер 0,01 мкФ на опорник
5. 8 ногу соедините с опорником (датчик будет выдавать напряжение относительно 2,5 В), при этом 0 В будет код 32768, 2.5 В будет код 65535
6. Входной диапазон напряжений по модулю не должен превышать 1 В

Я вспомнил (5 лет уж прошло) какая у нас была проблема. Иногда, очень редко, ацп зависал (сигнал готовности данных переставал приходить). Ресет не помогал, только выключение и включение, поэтому запитал ацп от мк. Завис - на тебе горячий ресет. И все работает, я эту схемотехнику расклонировал в несколько приборов, также этот ацп широко применяет Овен в своих дешевых приборах. На нем можно получить класс точности 0,1. Но если все-таки вы уже поставили на нем жиирный крест, могу посоветовать AD7714 - мы его тоже пользуем, проблем не было, они кстати очень похожи.
Аватара пользователя
Radist
 
Сообщения: 2233
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: AD7705 не помнит свои регистры.

Сообщение NorthStar » 02 фев 2012, 12:08

1 номинал кварца такой и есть
2 схему я использую с картинки 22 даташита - она специально для тензодатчика без опорника.
3 он там на самом деле очень нужен - без него значение гуляет со временем -+10гр
У меня он никогда и ниразу не зависал - проблема только в том, что он как будто ресетится сам по себе постоянно. Я вчера посмотрел - сколько раз он это делает на самом деле и пришел в ужас..(( У него по нескольку ресетов в 1 секунду на самом деле - из-за того что я каждый ресет пытался по Serial передать все висло нафиг. Но самое забавное - стоило взяться рукой за провода - все проходило моментально, так что проблемма или в косой партии чипов или в питании ( что более вероятно).
Я вообще хотел бы попробовать не ADшный чип, а от DS например по 1-Wire есть и обвеса никакого.

Добавлено спустя 2 часа 53 минуты 26 секунд:
Вот нарыл еще несколько идей:
1 Попробовать все-таки поставить REF192. Он у меня есть, хоть и производитель не считает его нужным для тензодатчика, но большинство схем в сети с этим АЦП всетаки используют REF.
2 Поставить конденсатор или пару между выводами REF прямо у самых выводов.
3 поставить резисторы 100 Ом на линии шины SPI.
Что из этого может быть разумно? Питание у меня практически идеальное - 5.02В - сколько не смотрел - не меняется. Я не думаю, что эта микросхема так уж чувствительна к питанию, в даташите достаточно широкие пределы. А вот при изменении REF - микросхема вполне может и заглючить.
Хочу сделать тест - без датчика поставить просто резисторный делитель на A1+. А А1- на землю. Только вот какие резисторы взять? Надо чтоб совсем маленькое напряжение туда шло.
NorthStar
 
Сообщения: 317
Зарегистрирован: 13 сен 2010, 12:47

Re: AD7705 не помнит свои регистры.

Сообщение Radist » 02 фев 2012, 12:39

Питание хорошо бы смотреть осциллографом, особенно опорник. А вход просто можно закоротить и смотреть насколько ноль колбасит. Еще смущают кондеры кварца - у меня 22, 47 может много? По земле этих кондеров токи бегать не должны - это к разводке.
Аватара пользователя
Radist
 
Сообщения: 2233
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

След.

Вернуться в Электроника, электротехника

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Mail.ru counter