В течение долгого времени я хотел сделать модуль датчика температуры с интерфейсом I2C, и, хотя тут есть несколько проблем, которые нужно решить, главное, что меня сдерживает – цена проекта. Некоторое время назад я наткнулся на дешевые модули датчиков температуры I2C из Китая и подумал, что стоит купить их. Однако по счастливой случайности я получил в подарок модуль «Grove-I2C (MCP9808)» от Seeed Studio и был очень доволен!
Grove - I2C High Accuracy Temperature Sensor (MCP9808) - модуль, основанный на MCP9808. Помимо высокоточных измерений температуры, модуль также предлагает программируемое предупреждение о температуре.
Рабочее напряжение модуля находится в диапазоне от 3,3 В до 5 В, а цифровой интерфейс - I2C (400 кГц). Адрес I2C модуля по умолчанию - 0x18, но поскольку модуль имеет набор контактных площадок на обратной стороне печатной платы, вы можете вырезать их и припаять к другой стороне, чтобы изменить 7-битный адрес I2C. Кроме того, вы можете увидеть панель ALE Pad на задней панели модуля. Сигнал предупреждения, выводимый с этой контактной площадки, может использоваться в качестве внешнего сигнала прерывания для других контроллеров. По умолчанию выходной сигнал высокий (3,3 В), но когда условие выполняется, выход становится низким (0 В).
Как видите, схема имеет стабилизатор напряжения 3,3 В с малым падением напряжения (LDO) и схема двунаправленного сдвига логического уровня. Шина I2C этого модуля использует 3,3 В, поэтому для взаимодействия с шиной I2C микроконтроллера на 5 В потребуется этот улучшитель.
Согласно техническому описанию Microchip Technology Inc., микросхема цифрового датчика температуры MCP9808 преобразует значения температуры от -20 ° C до + 100 ° C в цифровое слово с точностью ± 0,25 ° C / ± 0,5 ° C (типовая / максимальная). Этот датчик имеет промышленный стандарт 400 кГц, 2-проводный, совместимый с SMBus / I2C последовательный интерфейс, позволяющий управлять восемью или шестнадцатью датчиками с помощью одной последовательной шины. Более того, микросхема поставляется с программируемыми пользователем регистрами, которые позволяют выбирать настройки, такие как режимы выключения или пониженного энергопотребления, а также определять пределы окна температурных предупреждений и критические пределы вывода. Когда температура выходит за указанные граничные пределы, микросхема выдает сигнал предупреждения. Пользователь имеет возможность установить полярность выходного сигнала предупреждения как выход компаратора активный-низкий или активный-высокий для работы термостата или как выход прерывания для предупреждения о температуре для микропроцессорных систем. Выход предупреждения также можно настроить как выход только для критической температуры.