roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 07:48

Часовой пояс: UTC + 4 часа




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: AD7705 не помнит свои регистры.
СообщениеДобавлено: 03 дек 2011, 04:16 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 03 дек 2011, 22:26 
Не в сети

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 04 дек 2011, 19:57 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 05 дек 2011, 19:07 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 06 дек 2011, 12:54 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 06 дек 2011, 17:19 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 06 дек 2011, 19:00 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
NorthStar писал(а):
А про блокировочные - не понял - между чем и чем они должны быть?

По 0.1 должны стоять и на МК, и на AD, между землей и питанием и с максимально короткими выводами - т.е. как можно ближе к соответствующему чипу. Они-то как раз и уменьшат влияние "проводков по 10 см". Но это только одна из версий, мало ли что там у тебя еще может быть...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 17 янв 2012, 12:17 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 01 фев 2012, 00:29 
Не в сети

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


Вложения:
weight.rar [56.12 КиБ]
Скачиваний: 0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 01 фев 2012, 03:43 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 01 фев 2012, 11:00 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 02 фев 2012, 00:56 
Не в сети

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


Вложения:
схема_весы.jpg
схема_весы.jpg [ 76.87 КиБ | Просмотров: 3922 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 02 фев 2012, 03:51 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Ну вот, теперь все понятно. Схема не по даташиту (под рукой его нет, пишу по памяти).
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 - мы его тоже пользуем, проблем не было, они кстати очень похожи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 02 фев 2012, 12:08 
Не в сети

Зарегистрирован: 13 сен 2010, 12:47
Сообщения: 317
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- на землю. Только вот какие резисторы взять? Надо чтоб совсем маленькое напряжение туда шло.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AD7705 не помнит свои регистры.
СообщениеДобавлено: 02 фев 2012, 12:39 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 20 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO