Термодатчик TI TMP121


ТТХ
TMP121 (и его брат-близнец TMP123) — миниатюрный термодатчик в шестилапом корпусе SOT-23 с точностью +/-1.5°C и разрешающей способностью 0.0625°C. Рабочий диапазон −25°C...+85°C (до −40°C...+125°C с точностью 2°C и −55°C...+150°C абсолют максимум). Есть, кстати, ещё TMP125 с ещё более худшей точностью, но почти втрое большей скорость работы. Интерфейс — односторонний SPI с шестнадцати-битными посылками. В посылке 13 бит — знаковое число с фиксированной точкой в градусах Цельсия, остальные три бита не используются (впрочем, два из них помечены как Z, что наводит на мысль, что с их помощью можно что-то настраивать, но в даташите про это ни слова, хотя в блок-схеме указано наличие некоего конфигурационного регистра). Ток потребления в режиме измерения температуры 50мкА (спокойно можно питать от ноги контроллера), в спящем режиме до 1мкА, напряжение питания от 2.7 до 5.5 вольт.
Фунциклирование

Основой термодатчика является термодиод, показания с которого считывает сигма-дельта АЦП. Термодатчик может находиться в двух основных режимах — измерение (conversion) и передача информации (shutdown), переключение между режимами происходит с помощью ноги CS — «1» меряем, «0» спим и передаём информацию. Это, кстати, надо учитывать, если нужно повесить на один SPI несколько девайсов — у поднятия CS появляется побочный эффект — повышение потребления на порядок. Само измерение длится примерно 250мс после включения, далее измеренное значение записывается в выходной регистр, а датчик переходит в ждущий режим (IDLE), в котором жрёт 20мкА. Повторное измерение начинается автоматически ещё через 250мс, таким образом рабочий период датчика составляет примерно 0,5с (у упомянутого выше TMP125 период 120мс, время измерения, соответственно, 60мс).
Данные о температуре считываются по SPI, для чего требуется три ноги — CS(чип селект), SO(данные) и SCK(тактовая). Максимальная частота SCK — 10МГц. Посылки, как уже было сказано, 16-ти битные — первый бит знак, далее 8 бит значение градусов и ещё 4 бита — доли градуса. Далее идёт ноль и два бита в третьем состоянии, которые нужно отбрасывать.
Впечатления
В целом очень удобный термометр, если не жалко ножек на МК. Компактный, не требовательный к питанию, из обвязки разве что кондёр по питанию и то не обязательно. Возможность запитывать микруху напрямую от ноги контроллера упрощает схемотехнику и позволяет отрубать питание термометра в любой момент, компенсируя особенности работы SPI. Точность, конечно, не высокая, но для бытового использования вполне достаточно. Что приятно, кстати, — страшная строка про +/-1.5 градуса в начале даташита к середине превратилась в "+/-0.5 TYP, +/-1.5 MAX", то есть в рекламе они указали точность по худшему случаю, не то что некоторые. Реальную точность мне, к сожалению, оценить нечем, могу лишь сказать, что ИК-пирометр, направленный на корпус микрухи в комнатных условиях показывает примерно на градус больше, чем показания самой TMP121. Стабильность показаний датчика от включения к включению говорит о том, что разрешающая способность 0.0625 градусов вполне реальна, хотя зачем она такая нужна сказать не могу.
Ссылки
Описание не сайте производителя — www.ti.com/product/tmp121
Даташит — www.ti.com/litv/pdf/sbos273c
ЗЫ: админы, добавьте пожалуйста в фильтр прикрепляемых файлов PDF — архивировать даташиты это изврат.
- +8
- 27 марта 2012, 13:10
- Alatar
Нет, аналоговые требуют обработки (как минимум померить АЦПом) на которую в данном случае жалко ресурсов. Нужен был датчик который можно максимально быстро окучить. Здесь от меня требуется два действия:
1) включить питание, выставив 1 на выходе, подключенном к V+
2) через некоторое время считать байт (можно всего один, если достаточно разрешения в 2 градуса), положить его в память и отключить питание.
1) включить питание, выставив 1 на выходе, подключенном к V+
2) через некоторое время считать байт (можно всего один, если достаточно разрешения в 2 градуса), положить его в память и отключить питание.
шестилапом корпусе SOT-23Называется этот корпус SOT-23-6. Не путайте народ :)
- ALPINE63rus
- 27 марта 2012, 15:41
- ↓
Меня больше заинтересовало, отличаются ли эти микрухи ещё хоть чем-нибудь. В ДШ нашёл только упоминание, что у 123 может быть чуть больше максимальный (TYP точно такой же) ток потребления в спящем режиме. А если учесть, что NC разрешено подключить к GND, то получается, что микрухи вообще одинаковые — смысл делать их две я так и не понял.
Спасибо автору за статью. А почему не использовали обычнные, скажем, 10мВ/градус термодатчики? 1 нога АЦП МК и никаких теме SPI.
Аналоговый выход не рассматривался принципиально. Дело в том, что стояла задача добавить функцию передачи текущей температуры окружающей среды вместе с измеренными значениями в уже готовое устройство. Вклинивание обработки ещё одного канала АЦП, да ещё и не на каждом цикле работы, а только при определённых условиях (по запросу) чревата костылями или заметными модификациями алгоритма. И того и другого хотелось избежать. А тут тупо: при активации канала связи включаю модуль, по команде считываю и выплёвываю, при отключении соединения — отрубаю модуль.
Комментарии (19)
RSS свернуть / развернуть