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

Микросхемы датчиков

Цифровой датчик сам измеряет величину, калибрует результат и отдаёт число по I²C или SPI. Здесь собраны карточки таких микросхем и ссылки на подробные статьи о датчиках давления, влажности, тока, температуры и освещённости.

Цифровые микросхемы датчиков объединяют чувствительный элемент, АЦП, калибровку и интерфейс. Подробные статьи о классах датчиков — в разделе «Датчики»: измерение тока, датчики давления BMP280, BME280 и BMP390, датчики влажности SHT3x, HDC1080, HDC2080.

Карточки

МикросхемаЧто измеряетИнтерфейсОсобенность
LM35температуру, аналоговый выход 10 мВ/°Cаналоговыйкалибровка на заводе, питание от 4 В
MCP9700температуру, аналоговый выход 500 мВ при 0 °C и 10 мВ/°Cаналоговыйпитание 2,3–5,5 В, ток 6 мкА, от −40 °C без отрицательного питания; точность при 0…70 °C ±4 °C (MCP9700) и ±2 °C (MCP9700A), у MCP9700B ±1 °C при +20…+70 °C
INA219, INA226ток по шунту, напряжение шины, мощностьI²C, 16 адресовINA219 — до 26 В и 12 бит, INA226 — до 36 В и 16 бит с усреднением
INA260ток через встроенный шунт 2 мОм, напряжение шины, мощностьI²C, 16 адресовдо 15 А и 36 В, шаги 1,25 мА и 1,25 мВ без калибровки, TSSOP-16
INA3221ток по трём шунтам и три напряжения шинI²C, адреса 0x40–0x43шунт ±163,8 мВ с шагом 40 мкВ, шина до 26 В, тревоги; ток считает программа
INA180, INA181ток по шунту, аналоговый выходаналоговыйсинфазное −0,2…26 В, усиление 20–200; у INA181 вывод REF для тока в обе стороны
ACS712постоянный и переменный ток по полю, ±5, ±20, ±30 Ааналоговый, VCC/2 при нуле185, 100 и 66 мВ/А, изоляция 2400 В, питание 5 В
MPU-6050ускорение и угловую скорость по трём осям, температуруI²C, адреса 0x68 и 0x69шкалы до ±16 g и ±2000 °/с, питание 2,375–3,46 В
BMI270, BMI160ускорение и угловую скорость по трём осямI²C (0x68, 0x69) или SPI до 10 МГцLGA-14 2,5 × 3,0 мм, питание 1,71–3,6 В, 685 и 925 мкА; BMI270 запускается загрузкой 8 КБ конфигурации
DS18B20температуру, −55…+125 °C, ±0,5 °C при −10…+85 °C1-Wire, код семейства 28h9–12 бит, паразитное питание от линии данных
MCP9808температуру, ±0,5 °C макс. при −20…100 °CI²C, адреса 0x18–0x1Fразрешение до 0,0625 °C, выход Alert с тремя порогами, ток 200 мкА тип.
TMP102температуру, ±2 °C макс. при −25…85 °CI²C/SMBus, адреса 0x48–0x4BSOT-563, питание 1,4–3,6 В, ток 4,8 мкА при 4 Гц, шаг 0,0625 °C
TMP117температуру, точность ±0,1 °CI²C/SMBus, адреса 0x48–0x4B1,7–5,5 В, 3,5 мкА при 1 Гц, EEPROM и регистр поправки
MAX6675, MAX31855температуру термопары с компенсацией холодного спаяSPI, только чтениеMAX6675 — тип K, 0…1024 °C, 3,0–5,5 В; MAX31855 — K, J, N, T, E, R, S, от −270 °C, 3,0–3,6 В
BMP280давление 300–1100 гПа и температуруI²C (0x76, 0x77) или SPIкорпус 2,0 × 2,5 мм, ID 0x58, шум 0,2 Па с фильтром, без влажности
BME280давление 300–1100 гПа, влажность, температуруI²C (0x76, 0x77) или SPIпитание 1,71–3,6 В, совместим с BMP280 по регистрам давления и температуры
BME680давление, влажность, температуру и сопротивление газочувствительного слояI²C (0x76, 0x77) или SPIнагреватель 200–400 °C; индекс качества воздуха — только через библиотеку Bosch BSEC
DHT11, DHT22 (AM2302)влажность и температуруоднопроводной протокол Aosong (не 1-Wire), 40 битDHT22: ±2 %RH и ±0,5 °C; DHT11: ±5 %RH и ±2 °C; опрос не чаще раза в 2 с
SHT30, SHT31, SHT35влажность и температуруI²C, адреса 0x44 и 0x45SHT31: ±2 % и ±0,2 °C тип., CRC-8, питание 2,15–5,5 В
AHT20влажность и температуруI²C, адрес 0x38±2 % и ±0,3 °C тип., измерение по команде 0xAC за 80 мс, CRC-8
BH1750освещённость 1–65 535 лкI²C, адреса 0x23 и 0x5Cпитание 2,4–3,6 В, сброс выводом DVI, отсчёт делят на 1,2
VEML7700освещённость, от 0,0042 до 140 000 лкI²C, адрес 0x1016 бит, после включения питания датчик выключен; выше 1000 лк — поправочный полином
TSOP382, TSOP384ИК-сигнал пульта на несущей 30–56 кГццифровой выход, активный нольпитание 2–5,5 В, ток 0,35 мА; выводы 1 OUT, 2 GND, 3 VS
ACS758постоянный и переменный ток по полю, ±50…±200 А двунаправленные и 50–200 А однонаправленныеаналоговый, 10–60 мВ/Ашина 100 мкОм, полоса 120 кГц, изоляция 4800 В; снят с производства, замены ACS772/ACS773
SS49Eмагнитное поле, ±1000 Гс, линейный выходаналоговый, 1,4 мВ/Гс, ноль 2,5 В при 5 Впитание 2,7–6,5 В, 6 мА, TO-92; выводы 1 Vcc, 2 GND, 3 Vout

Цифровые датчики освещённости BH1750, TSL2561, VEML7700 и OPT3001 сравниваются в статье «Датчики освещённости», датчики Холла DRV5032, DRV5055 и A1324 — в статье «Датчики Холла и магнитного поля».

Что смотреть в даташите цифрового датчика

Строка даташитаЧто означает
Accuracy, total errorпогрешность всего тракта, часто с отдельными цифрами для типичного и худшего случая
Resolution, LSBшаг выходного кода
Conversion time, averagingвремя одного измерения и встроенное усреднение
Supply voltage, I/O levelsпитание и уровни шины — можно ли работать от 5 В
Address pinsсколько одинаковых датчиков поместится на шине
Supply current, power-downпотребление при работе и в спящем режиме

Частые вопросы

Чем цифровой датчик лучше аналогового?

Цифровой датчик сам оцифровывает сигнал, учитывает заводские калибровочные коэффициенты и отдаёт готовое значение по шине. Погрешность в даташите указана сразу для всего тракта, и не нужно думать об опорном напряжении и шумах АЦП микроконтроллера. Цена — фиксированный набор настроек и адресов на шине.

Как подключить несколько одинаковых датчиков на одну шину I²C?

Выводами выбора адреса: у INA219 и INA226 их два, и каждый подключают к GND, питанию, SDA или SCL — получается 16 адресов. У датчиков с одним выводом адреса — два варианта. Если адресов не хватает, ставят мультиплексор шины I²C.

Чем INA219 отличается от датчика тока на эффекте Холла?

INA219 измеряет падение напряжения на шунте — маленьком резисторе в цепи тока — и делит его на сопротивление. Датчик Холла, например ACS712, измеряет магнитное поле тока и даёт гальваническую развязку, но шумит больше. Сравнение способов — в статье об измерении тока.