Перейти к содержанию
    

АЦП AD7124 и внутренний температурный сенсор

Здравствуйте.

 

Может кто ни будь сможет подсказать. Использую AD7124-8, пытаюсь измерить показания внутреннего температурного сенсора. На выбранном канале на "+" коммутирую сенсор, на "-" AVss. Конфиг на канал биполярный, буферизированный, референс внутренний. В принципе пробовал и всякие другие установки как по конфигу так и по фильтрам, как дефолтные так и из примеров и форума AD. Результат примерно одинаковый - результат преобразования 0xBE8xxx..0xBE9xxx что по формуле из доки дает температуру в районе 300 тысяч цельсия :-) Где то косяк, но в чем как то уже не придумывается. Может кто то сталкивался с подобным или подскажет рабочие настройки канал/конфиг/фильтр ?

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я думаю, вам нужно выбрать или задать выравнивание результатов измерения справа или слева в слове.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На выбранном канале на "+" коммутирую сенсор, на "-" AVss.
Фраза не очень понятна.

Потому что если вы меряете внутренний датчик температуры то нужно выставлять:

AINP[4:0] = 10000 = temperature sensor

AINM[4:0] = 10000 = temperature sensor

 

Т.е. это по сути 17-ый канал.

 

Плюс возможно влияние оказывает ещё PGA... хотя скорее всего нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Фраза не очень понятна.

Потому что если вы меряете внутренний датчик температуры то нужно выставлять:

AINP[4:0] = 10000 = temperature sensor

AINM[4:0] = 10000 = temperature sensor

 

Т.е. это по сути 17-ый канал.

 

Плюс возможно влияние оказывает ещё PGA... хотя скорее всего нет.

Если temperature sensor ставить на оба канала то результатом будет что то типа 0x7FFFe7, что тоже не проходит. Собственно с этой конфигурации начинал. А вот тут, вроде как форум самого AD:

https://ez.analog.com/thread/94666

говорят именно про конфигурацию когда на IN+ подключают датчик а IN- на AGND.

Да, по другим каналам (внешним, внутренним) приходят ожидаемые значения, там вроде как все нормально.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

результат преобразования 0xBE8xxx..0xBE9xxx что по формуле из доки дает

((12484608 – 8388608) / 13584) – 272,5 = +29,03°C

 

((12488704 – 8388608) / 13584) – 272,5 = +29,33°C

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

((12484608 – 8388608) / 13584) – 272,5 = +29,03°C

 

((12488704 – 8388608) / 13584) – 272,5 = +29,33°C

 

Опа! чего то не допер сразу. А ведь в доке то стоит запятая, 13.584, это как так?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...