Например TDA7294

Форум РадиоКот • Просмотр темы - Кто работал с AD7731? Голову сломал...
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 06:31:31

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Кто работал с AD7731? Голову сломал...
СообщениеДобавлено: Пт янв 27, 2017 07:14:19 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 70
Зарегистрирован: Сб мар 05, 2011 09:19:01
Сообщений: 264
Рейтинг сообщения: 0
Всем привет. Считываю данные с AD7731 после готовности RDY и получаю медленно "плавающие" 3 младших полубайта из 6. При этом результат раза в 2,5 меньше, чем должен быть (измеряемое напряжение-часть опорного). Конфигурация АЦП и калибровка проходят успешно (считывал регистры до и после). SPI аппаратный.
Спойлер/ ================== инициализация АЦП ==================
void Init_AD7731()
{
CS_AD7731 = 0;

// ********************************************************************************** filter
WR_AD7731(0x03); // след. запись в регистр фильтра (2 байта)
WR_AD7731(0x61); // запись старшего байта в регистр фильтра
WR_AD7731(0xA0); // запись младшего байта в регистр фильтра /Это как пример в даташите

// ********************************************************************************** mode
WR_AD7731(0x02); // след. запись в регистр режима (2 байта)
WR_AD7731(0xB1); // запись старшего байта в регистр режима (unipol, 24bits,Internal FULL-SCALE Calibration)
WR_AD7731(0x71); // запись младшего байта в регистр режима (Uref=2,5V, Uin=0...1,28V, AIN1-AIN6)
while(RDY_AD7731);

WR_AD7731(0x02); // след. запись в регистр режима (2 байта)
WR_AD7731(0x91); // запись старшего байта в регистр режима (unipol, 24bits,Internal ZERO Calibration)
WR_AD7731(0x71); // запись младшего байта в регистр режима (Uref=2,5V, Uin=0...1,28V, AIN1-AIN6)
while(RDY_AD7731);

WR_AD7731(0x02); // след. запись в регистр режима (2 байта)
WR_AD7731(0x31); // запись старшего байта в регистр режима (unipol, 24bits, непрерывное преобразование)
WR_AD7731(0x71); // запись младшего байта в регистр режима (Uref=2,5V, Uin=0...1,28V, AIN1-AIN6)
while(RDY_AD7731);

CS_AD7731 = 1;
}

// ================== запись байта в регистр ===================
void WR_AD7731(unsigned char byte)
{
spi(byte);
}


// ================== чтение len байтов из регистра данных ===================
unsigned long int RDn_AD7731(unsigned char len)
{
unsigned long int rx;
unsigned char k;

rx=0;
for( k=0; k<len; k++ ) // чтение ответа из устройства
{
rx <<= 8; // это зависит от порядка передаваемых байтов устройством
rx |= spi( 0xFF ); // записать очередные 8 бит от slave в переменную
}
return rx;
}

А вот с чтением не выходит каменный цветок. (CS, ессно, не забыт). При этом нулевое напряжение (вход - на землю) показывает правильно. "Висячий" вход дает 0хFFFFFF, как и должен бы. Перед работой с АЦП делаю принудительно сброс.
Может, у кого найдется пример рабочего кода? Или совет дельный?
В инете все облазил, нашел только вопросы неотвеченные...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кто работал с AD7731? Голову сломал...
СообщениеДобавлено: Пт янв 27, 2017 15:58:37 
Говорящий с текстолитом
Аватар пользователя

Карма: 16
Рейтинг сообщений: 236
Зарегистрирован: Вт апр 03, 2012 20:36:41
Сообщений: 1661
Откуда: Сочи
Рейтинг сообщения: 0
Уверенность в работоспособности микросхемы есть ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кто работал с AD7731? Голову сломал...
СообщениеДобавлено: Сб янв 28, 2017 01:10:31 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 70
Зарегистрирован: Сб мар 05, 2011 09:19:01
Сообщений: 264
Рейтинг сообщения: 0
Enigm писал(а):
Уверенность в работоспособности ... есть ?

Уверенность есть.
Вопрос хороший . Эта версия тоже отрабатывалась. Все перепробовав, купил второй экземпляр. Результат тот же. Микросхемы куплены в разных местах, разные партии.
Значит, это я что-то делаю не так. Или есть какой-то "фирменный" косяк. Но раздела Errata в даташите нет.
Идеи у меня кончились, вот и спросил здесь...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Кто работал с AD7731? Голову сломал...
СообщениеДобавлено: Сб янв 28, 2017 05:21:52 
Говорящий с текстолитом
Аватар пользователя

Карма: 16
Рейтинг сообщений: 236
Зарегистрирован: Вт апр 03, 2012 20:36:41
Сообщений: 1661
Откуда: Сочи
Рейтинг сообщения: 0
Поковыряйте библиотеку для ардуино , может что полезного найдете.
https://github.com/wdconinc/AD7731


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Кто работал с AD7731? Голову сломал...
СообщениеДобавлено: Сб янв 28, 2017 18:49:32 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 70
Зарегистрирован: Сб мар 05, 2011 09:19:01
Сообщений: 264
Рейтинг сообщения: 0
Enigm писал(а):
Поковыряйте библиотеку для ардуино...

Спасибо, ссылка не попадалась, посмотрю.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Кто работал с AD7731? Голову сломал...
СообщениеДобавлено: Пт мар 10, 2017 06:34:36 
Друг Кота
Аватар пользователя

Карма: 51
Рейтинг сообщений: 513
Зарегистрирован: Вт дек 25, 2012 14:51:33
Сообщений: 3054
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
С 7731 не работал, но когда-то имел дело с его старшим братом, 7705.
Могу предположить, что во-первых, надо поиграть с усилением АЦП.
А плавающий результат - скорее всего сетевая наводка 50 гц.
Лечится применением синхронного детектора по входу АЦП.

ЗЫ.На достоверность не претендую, это первое что пришло в голову по существу вопроса.

_________________
Processor not found. Loaded software emulation ......


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кто работал с AD7731? Голову сломал...
СообщениеДобавлено: Пт мар 10, 2017 10:27:20 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 70
Зарегистрирован: Сб мар 05, 2011 09:19:01
Сообщений: 264
Рейтинг сообщения: 0
a_klyuev писал(а):
С 7731 не работал, но когда-то имел дело с его старшим братом, 7705.

Спасибо Вам за внимание к вопросу. По сравнению с 7731, 7705 - просто паинька. От него остались сугубо положительные ощущения: в выборках считанные значения отличаются не более, чем на младший бит! А по 7731 частично удалось разрешить некоторые вопросы. Так, я не обратил внимание, что диапазон входных значений у AD7731 в псевдодифференциальном включении начинается не от нуля. В отличие от того же 7705 (и 7714). Поэтому все это "плавание" было оттуда. После сдвига входного сигнала все стало похоже на правду. Однако, случайным образом эпизодически из регистра данных считывается полная чушь. Знающие говорят, что 7731 к этому склонен, и надо его сбрасывать и инициализировать чуть ли не перед каждым измерением. Пока мне в это не верится, хотя проверял - это помогает. Но так же не должно работать изделие от Analog Device! Поэтому, думаю, надо еще искать свои ошибки. Подозреваю, что где-то не выдерживается временная диаграмма... Все-таки 24 разряда - это не батарейку тестером померять :)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

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


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y